====== Android SDK 导入 ====== ---- ===== 集成前准备 ===== * [[start:000quickstart:10register|注册并创建应用]] ===== 下载 SDK ===== 到[[http://www.easemob.com/download/im|环信官网]]下载环信 SDK。 注:考虑到开发者需求不一样,在下载的 SDK 中,提供了两个不同的 jar 包: * 一个是 libs 下带实时语音功能和实时视频功能的 jar 包和 so 文件。 * 如果你不需要实时语音、实时视频功能,那就直接用 libs.without.audio 文件夹下的 jar 包及 so 文件。 到此您已经下载好了 SDK,下面开始学习 SDK 的集成使用吧! ===== SDK 目录讲解 ===== 从官网上下载下来的包,解压后内容如下: {{:start:200androidcleintintegration:demo_dirs_new1.jpg?nolink|SDK目录}} 在这里主要介绍后面四个文件夹内容: * doc 文件夹:SDK 相关 API 文档 * examples 文件夹:ChatDemoUI(老的 Demo,不推荐使用)、ChatDemoUI3.0(环信demo,依赖 EaseUI 库)、EaseUI,2.2.9版本中加入红包库redpacketlibrary,位置在ChatDemoUI3.0根目录下,导入demo查看的时候也需要导入此红包library。 * libs 文件夹:包含IM和实时音视频功能所需要的 jar 和 so 文件 * libs.without.audio 文件夹:无实时语音、实时视频功能的 SDK 包,如果项目中只用到聊天功能,可以把项目里的 jar 和 so 文件替换成此文件夹里的 ===== 配置工程 ===== ==== 导入 SDK ==== 在自行开发的应用中,集成环信聊天需要把 libs 文件夹下的 easemobchat_2.1.6.jar 和 armeabi 目录导入到你的项目的 libs 文件夹底下,如果不需要语音和视频通话功能,导入 libs.without.audio 下的 jar 文件即可。jar 名字的后面的 2.1.6 可能会跟你下载的不一致,这是版本号,以实际为准。如果集成过 2.1.6 之前 SDK 的开发者,建议更新新版本,新版本有很多的优化,具体请看更新日志。 **注:SDK 版本是向下兼容的** {{:start:200androidcleintintegration:demo_dirs_new1_1_.jpg?nolink|SDK目录}} {{:start:200androidcleintintegration:project_libs1.jpg?nolink|2.1.5之前的jar包和.so文件}} __以上为 2.1.5 之前的 jar 包和 .so 文件__ {{:start:200androidcleintintegration:project_libs2.png?nolink|2.1.5之后的jar包和.so文件}} __以上为 2.1.5 之后的 jar 包和 .so 文件(里面包含了语音和视频通话功能)__ ==== 配置信息 ==== 在清单文件 AndroidManifest.xml 里加入以下权限,以及写上你注册的 AppKey。 权限配置: 关于 EASEMOB_APPKEY 对应的 value 获取,在创建应用后,申请 AppKey 并进行相关配置。(环信 demo 中 AppKey 为 easemob-demo#chatdemoui) ===== APP 打包混淆 ===== 在 ProGuard 文件中加入以下 keep。 -keep class com.easemob.** {*;} -keep class org.jivesoftware.** {*;} -keep class org.apache.** {*;} -dontwarn com.easemob.** #2.0.9后的不需要加下面这个keep #-keep class org.xbill.DNS.** {*;} #另外,demo中发送表情的时候使用到反射,需要keep SmileUtils -keep class com.easemob.chatuidemo.utils.SmileUtils {*;} #注意前面的包名,如果把这个类复制到自己的项目底下,比如放在com.example.utils底下,应该这么写(实际要去掉#) #-keep class com.example.utils.SmileUtils {*;} #如果使用EaseUI库,需要这么写 -keep class com.easemob.easeui.utils.EaseSmileUtils {*;} #2.0.9后加入语音通话功能,如需使用此功能的API,加入以下keep -dontwarn ch.imvs.** -dontwarn org.slf4j.** -keep class org.ice4j.** {*;} -keep class net.java.sip.** {*;} -keep class org.webrtc.voiceengine.** {*;} -keep class org.bitlet.** {*;} -keep class org.slf4j.** {*;} -keep class ch.imvs.** {*;} ---- 上一章节:[[start:100serverintegration:10intro|服务端集成]] 下一页:[[start:200androidcleintintegration:30androidsdkbasics|Android SDK 基础功能]]