android 7.0 因为.so文件而崩溃事件解决

菜鸟进场,方圆十里,寸草不生

现在基本都在用第三方的分享,但是不知道为什么,脑残的准备自己集成微博的第三方分享,本来一路躺坑都过来了,不过遇到一个奇葩的问题,软件在android N上会崩溃,其实也就是在android7.0上会崩溃,其他手机都好的,网上查的话全都是什么android7.0更新什么什么的,没什么实质性的作用,给的一些典型解决案例也看不懂,不过最后在外国网站上找到了解决办法,其实很简单。下面我就以我自己这个例子来说怎么解决吧,想来其他的错误也差不多。

先给出的错误报告:

java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib64/libweibosdkcore.so" needed or dlopened by "/system/lib64/libnativeloader.so" is not accessible for the namespace "classloader-namespace"
                 at java.lang.Runtime.loadLibrary0(Runtime.java:977)
                 at java.lang.System.loadLibrary(System.java:1530)
                 at com.sina.weibo.sdk.net.HttpManager.(HttpManager.java:43)
                 at com.sina.weibo.sdk.net.HttpManager.openUrl(HttpManager.java:63)
                 at com.sina.weibo.sdk.utils.AidTask.loadAidFromNet(AidTask.java:400)
                 at com.sina.weibo.sdk.utils.AidTask.access$200(AidTask.java:49)
                 at com.sina.weibo.sdk.utils.AidTask$2.run(AidTask.java:232)
                 at java.lang.Thread.run(Thread.java:761)

解决办法就是按ctrl + shift + n 找到报错的前一个.so文件,这里就是(libweibosdkcore.so),找到之后将其复制到自己主模块的jniLibs文件夹下,一定按文件夹分别复制,不然还是会报错,然后运行就可以了。

但是可能会有些其他的错误,比如说我这里遇到的,weiboSDK里面的.so文件是32位的,而android7.0的机子好多都是64位的,然后我又到官方demo里面找到了所有.so文件。

至此解决问题,花费两天,主要是最开始一直在研究怎么将私有库变为公开库,然后一直没学会。

你可能感兴趣的:(android)