java.lang.UnsatisfiedLinkError: No implementation found for int com.xxx.xx中的couldn’t find “XX.so”或loadLibrary("xxx")失敗


我覺得這是個神坑,雖然早幾年網上就很多po出來的解決方式,但是同樣的問題,我的bug卻穩如泰山,一點用都沒有,好氣

下面總結一下

這里前面先是有個系統打印信息

I/System.out: loadLibrary(IOTCAPIsT),dalvik.system.PathClassLoader[DexPathList[[zip file"/data/app/com.winstars.petclient1/base.apk"],
nativeLibraryDirectories=[/data/app/com.winstars.petclient-1/lib/arm64, /data/app/com.winstars.petclient-1/base.apk!/lib/arm64-v8a, 
/vendor/lib64, /system/lib64]]] couldn't find "libIOTCAPIs.so"

然后就開始一長串的java.lang.UnsatisfiedLinkError: No implementation found for int com.xxx.xx什么什么的報錯

因為不是所有的第三方庫都會適配所有CPU架構,那么如果某個CPU去默認加載它對應的架構時,里面沒有包含着的so文件,就會報這樣的錯。

解決方法:

我們可以指定所有的CPU都只加載同一個armeabi包下的

這里同步完之后會報需要修改gradle.properties的提示  照它說的做就行了“set....'android.useDeprecatedNdk=true' in gradle.properties..”

就是上圖的最后一句,如果你的項目里沒有這個文件,新建

 

可能也不全是這原因吧 就我的問題而言 是這樣解決的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM