因Android版本问题的融云mLibHandler为空的坑爹问题

好郁闷,这个问题以前就遇到过了,最近重新搭建了一套框架的时候引入融云的sdk时,居然忘记这个问题了,搞到我找了好久才搞定,融云那边的提示是“[ RongIMClient ] [connect] mLibHandler is null, connect waiting for bind service”

直接说就是调取不了融云SDK的so包,很尴尬,之前在6.0上都是这么写的都没有问题,现在在8.0上面就有这个问题而导致连接不了融云的sdk,后来看取了一下工单,发现是这样解释的。

解答:

原因是7.0以后,Andorid不允许直接访问系统的私有so文件了。

两种解决方案:

  1. 把targetSdkVersion改小于24。

  2. apk中带上需要的so文件,这儿是libsqlite.so

    1. 下载附件中的so文件,放到对应的文件夹下,如libs/armeabi-v7a/libsqlite.so,并注意你的gradle是否引用了这个目录,如 jniLibs.srcDirs = ['libs']

    2. 编译测试。

    3. 通过Android Studio的Analyze APK功能[Build -> Analyze APK...], 或直接解开apk包,查看是apk的lib目录下是否已包含libsqlite.so文件


下载地址


猜你喜欢

转载自blog.csdn.net/u014476720/article/details/80936166
今日推荐