您的位置:首页 > 移动开发 > Android开发

android so库找不到报java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "

2018-02-01 10:02 555 查看
demo写得好好的,没什么问题,丢到项目中出现了

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
[DexPathList[[zip file"/data/app/com.tjwreader2/base.apk"],
nativeLibraryDirectories=
[/data/app/com.tjwreader-2/lib/arm64, /data/app/com.tjwreader-
2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]]
couldn't find "libmupdf.so"


网上也很多答案,出现这种情况基本2中方法就可以决解。

决解方法一

在armeabi同目录下建一个文件夹armeabi-v7a,把armeabi的文件copy一份到armeabi-v7a,两个文件夹so库一定要一毛一样,例如下图



如果上面方法一还是没有找到so库,使用方法二

决解方法二

在app(主工程)的build.gradle中添加ndk支持,代码如下

android {
compileSdkVersion 25
buildToolsVersion "26.0.1"
defaultConfig {
...
...
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
...
...
}


在运行看看,基本没问题了。这里还有一篇关于so文件的兼容小总结Android SO文件的兼容和适配
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐