昨晚我手机提示系统升级7.0,然后就升级了,可是早上跑了下昨天写的代码,懵逼了。。。。
as提示:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ihaji:ipc, PID: 25610
java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:977)
at java.lang.System.loadLibrary(System.java:1530)
at io.rong.imlib.NativeObject.<clinit>(NativeObject.java:8)
at io.rong.imlib.NativeClient.init(NativeClient.java:170)
at io.rong.imlib.LibHandlerStub.<init>(LibHandlerStub.java:39)
at io.rong.imlib.ipc.RongService.onBind(RongService.java:31)
at android.app.ActivityThread.handleBindService(ActivityThread.java:3263)
at android.app.ActivityThread.-wrap3(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1610)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6217)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
看字面是找不到libsqlite.so
因为我用的是融云,其实类似的第三方的IM基本都用这玩意,比如还有个环信,也是
我百度许久后发现是因为7.0为了安全性,禁止访问系统内容,恰巧这货又是系统里的,所以就找不到了
解决办法:
方法一:更改目标sdk至7.0以下(不建议使用该方法)
方法二:下载文件(点我下载)解压,将对应的so文件放置对应库的文件夹中,如下图
然后再编译项目运行,至此该问题就解决了