本篇借助于“阿里云旺”进行试验。目前,其即时通讯模块均为免费。
步骤
1、引入OpenIMSDK【配置build.gradle文件】
第一种方法:配置maven仓库地址
①配置仓库
//【0】云旺准备 ----集成 repositories { maven { url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/' } }
②添加依赖
//必选 compile 'com.alibaba.mobileim:IMCore:2.0.2.1@aar' //可选,如果使用SDK的UI必须添加该依赖,如果不使用SDK的UI,完全自己开发UI则无需添加该依赖 compile 'com.alibaba.mobileim:IMKit:2.0.2.1@aar' //可选,如果使用小视频功能必须添加该依赖,如果不使用小视频功能则无需添加该依赖 // compile 'com.alibaba.mobileim:RecorderSDK:1.0.0@aar'
ps:因为需要对默认UI进行修改,所以这里添加了IMKit,如果不需要注释掉即可
第二种方法:aar集成
①将aar文件放置到libs文件夹下,并增加仓库路径:
repositories {
flatDir {
dirs 'libs'
}
}
②添加依赖
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile(name: 'IMCore-2.0.2', ext: 'aar')
compile(name: 'IMKit-2.0.2', ext: 'aar')
}
2、分包+扩大内存
该环节在云旺官方文档上并不是必须的。但是如果项目中方法数超过65536(包括第三方jar包)或者模拟器分配的内存不足时,可能会出现问题。
(1)OOM ——扩大内存
dexOptions { incremental true javaMaxHeapSize "2g" }这里也可以设置为4g,但是一般2g就够了。
(2)方法数超过65536 —— 分包
①配置build.gradle
在android{} 的 defaultConfig{} 中添加以下代码:
multiDexEnabled true
multidexkeep.pro文件:
将
②添加依赖
compile 'com.android.support:multidex:1.0.0'
③启用 Dalvik 可执行文件分包
在自己创建的Application(注意,在清单文件中配置一下)中,重写attachBaseContext()方法:
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); //【3】分包第三步 MultiDex.install(this); }
ps:该方法在onCreate()之前执行。
3、具体使用
(1)初始化
Application onCreate()中添加:
//【1】云旺--初始化 // final String APP_KEY = "23015524";//官方测试 final String APP_KEY = MyStatic.YWAPPKEY;