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..”
就是上图的最后一句,如果你的项目里没有这个文件,新建
可能也不全是这原因吧 就我的问题而言 是这样解决的