以下是我出现的错误
Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.uhf-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.uhf-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libDeviceAPI.so"
UnsatisfiedLinkError:链接失败错误
上述错误就是出现了libDeviceAPI.so没有编译进/data/app/com.example.uhf-1/lib/arm64这个目录下
解决:
第一步:
在 项目xxx/app/build.gradle目录下添加 abiFilters sourceSets
android {
***
defaultConfig{
****
// 设置支持的SO库架构,armeabi是手机通用支持的架构,也可以自己加多别的架构
abiFilters 'armeabi'
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
//如果你的也是jnilibs,最好把(jniLibs/armeabi的armeabi目录包含文件复制到libs目录下)
//jniLibs.srcDirs = ['jnilibs'] //我使用这个没有编译成功
}
}
***
}
第二步
在项目下gradle.properties文件下要增加: (没有这个文件可自己创建这个文件)
android.useDeprecatedNdk=true
我用这个方法解决了我的这个错误,记录一下