android集成环信的开发文档:http://docs.easemob.com/im/200androidclientintegration/10androidsdkimport,按照方法集成,下载了SDK解压,
按照文档的操作要求导入到项目libs目录下:
然后在清单文件 AndroidManifest.xml 里加入以下权限,以及写上你注册的 AppKey。并在 application 的oncreate
方法中做初始化,这些环信文档中都有。
运行程序;
报错:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.glorystudent.testh5-1/base.apk"],nativeLibraryDirectories=[/data/app/com.glorystudent.testh5-1/lib/arm64, /system/lib64, /vendor/lib64]]] couldn't find "libhyphenate.so"
意思是不能找到
libhyphenate.so文件,按照官方文档操作竟然出这样的问题,搞不懂;
最后的解决办法是:
在src/mian目录下,新建libs文件夹:把环信3个so文件复制到这个文件夹中:
同时在清单文件 AndroidManifest.xml ,android{ }里加入:
sourceSets {
main {
jniLibs.srcDirs = ['src/main/libs']
jni.srcDirs = []
}
}
然后运行,就ok了
按照文档配置好登录成功回调:
注意:在以上过程中可能会出现异常:
java.lang.UnsatisfiedLinkError: dlopen failed: file offset for the library "******/lib/arm64/libhyphenate.so" >= file size: 0 >= 0
这个你要检查一下,导入的jar和so是否一致,建议重新导入一次,之前也犯过这样的错误,后面重新导入就ok了。
记录这些希望对大家集成环信有写帮助