====== 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 基础功能]]