1. 程式人生 > >android 7.0 因為.so檔案而崩潰事件解決

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
.<clinit>(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檔案。

至此解決問題,花費兩天,主要是最開始一直在研究怎麼將私有庫變為公開庫,然後一直沒學會。