UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList couldn‘t find xx so"/>
解决java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList couldn‘t find xx so
armeabi就是针对普通的或旧的arm v5 cpu,armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu。
armeabi-v7a(32位ARM设备),arm64-v8a(64位ARM设备)
Android 设备的CPU类型(通常称为”ABIs”)
armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。
问题描述:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/xxx.xxxxx.xxx/base.apk”],nativeLibraryDirectories=[/data/app/xxx.xxxxx.xxx/lib/arm64, /vendor/lib64, /system/lib64]]] couldn’t find “xxxxxxxx.so”;
解决方案:
1.首先先跟sdk提供商沟通看看他们是否能够提供64位的so库
2.如果实在不行的话,只能在项目的gradle文件下 的defaultConfig{}里添加如下代码:
ndk{abiFilters "armeabi ","armeabi-v7a"}
这样项目就只会去armeabi 或者armeabi-v7a下去寻找对应的so库。
更多推荐
解决java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList coul
发布评论