文档捉虫大赛:人工智能与机器学习专题> HOT
本文主要介绍如何快速将腾讯云即时通信 IM SDK 集成到您的 Android 项目中。

开发环境要求

JDK 1.6。
Android 4.1(SDK API 16)及以上系统。

集成 SDK(aar)

您可以选择使用 Gradle 自动加载的方式,或者手动下载 aar 再将其导入到您当前的工程项目中。

方法一:自动加载(aar)

您可以通过配置 gradle 自动下载更新已经发布到 Maven Central 库的 IM SDK。 只需要用 Android Studio 打开需要集成 SDK 的工程,然后通过如下三个步骤修改 app/build.gradle 文件,就可以完成 SDK 集成:

步骤1:添加 SDK 依赖

1. 找到 app 的 build.gradle,首先在 repositories 中添加 mavenCentral() 的依赖:
repositories {
google()
jcenter()
// 增加 mavenCentral 仓库
mavenCentral()
}
2. 然后在 dependencies 中添加 IM SDK 的依赖:
如果使用增强版 IM SDK,请添加如下依赖。
dependencies {
api 'com.tencent.imsdk:imsdk-plus:版本号'
}
如果使用增强版 Pro IM SDK,请添加如下依赖。
dependencies {
api 'com.tencent.imsdk:imsdk-plus-pro:版本号'
}
如果使用基础版 IM SDK,请添加如下依赖。
dependencies {
api 'com.tencent.imsdk:imsdk:版本号'
}
说明:
“版本号”应替换为 SDK 的实际版本号,建议使用 最新版本。 以版本号是5.4.666为例:
dependencies {
api 'com.tencent.imsdk:imsdk-plus:5.4.666'
}

步骤2:指定 App 使用架构

在 defaultConfig 中,指定 App 使用的 CPU 架构(从 IM SDK 4.3.118 版本开始支持 armeabi-v7a,arm64-v8a,x86,x86_64):
defaultConfig { ndk { abiFilters "arm64-v8a" } }

步骤3:同步 SDK

单击 Sync 按钮,如果您的网络连接 jcenter 没有问题,SDK 就会自动下载集成到工程里。



方法二:手动下载(aar)

如果您的网络连接 jcenter 有问题,也可以手动下载 SDK 集成到工程里:

步骤1:下载 IM SDK

在 Github 上可以下载到最新版本的 IM SDK

步骤2:拷贝 IM SDK 到工程目录

将下载到的 aar 文件拷贝到 app 工程的 /libs 目录下:



步骤3:指定 App 使用架构并编译运行

在 app/build.gradle 的 defaultConfig 中,指定 App 使用的 CPU 架构(从 IM SDK 4.3.118 版本开始支持 armeabi-v7a,arm64-v8a,x86,x86_64):
defaultConfig {
ndk {
abiFilters "arm64-v8a"
}
}

集成 SDK

如果您不想集成 aar 库,也可以通过导入 jar 和 so 库的方式集成 IM SDK:

步骤1:下载解压 IM SDK

在 Github 上可以 下载 到最新版本的 aar 文件。解压后的目录里面主要包含 jar 文件和 so 文件夹,把其中的 classes.jar 重命名成 imsdk.jar



步骤2:拷贝 SDK 文件到工程目录

将重命名后的 jar 文件和各个架构的 so 文件分别拷贝到 Android Studio 默认加载的目录下:



步骤3:指定 App 使用架构并编译运行

在 app/build.gradle 的 defaultConfig 中,指定 App 使用的 CPU 架构(从 IM SDK 4.3.118 版本开始支持 armeabi-v7a,arm64-v8a,x86,x86_64):
defaultConfig {
ndk {
abiFilters "arm64-v8a"
}
}

配置 App 权限

在 AndroidManifest.xml 中配置 App 的权限,IM SDK 需要以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

设置混淆规则

在 proguard-rules.pro 文件,将 IM SDK 相关类加入不混淆名单:
-keep class com.tencent.imsdk.** { *; }