我覺得這是個神坑,雖然早幾年網上就很多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..”
就是上圖的最后一句,如果你的項目里沒有這個文件,新建
可能也不全是這原因吧 就我的問題而言 是這樣解決的