java.lang.UnsatisfiedLinkError 更改 minSdkVersion 后
java.lang.UnsatisfiedLinkError after changing minSdkVersion
将 minSdkVersion 从 21 更改为 24 后,我收到异常:
java.lang.UnsatisfiedLinkError: dalvik.system.DexClassLoader[DexPathList[[dex file "/data/user/0/com.test.testprint/files/nepcore.dex"],nativeLibraryDirectories=[/data/app/com.test.testprint-2/lib/arm, /data/resource/lib, /vendor/lib, /system/lib]]] couldn't find "libDeviceConfig.so"
切换回 minSdk 21 后,一切恢复正常。
我也尝试添加 ndk 过滤器,但没有帮助:(
任何人都可以帮助理解这个异常是如何与 minSdkVersion 联系起来的吗?
需要在清单文件中的应用程序部分中添加一行:)
<application
...
android:extractNativeLibs="true">
对于minSdk >= 23 and Android Gradle Plugin >= 4.2.0,需要在Androidmanifest.xml
中使用useLegacyPackaging in app's build.gradle file instead of extractNativeLibs
使用 DSL 打包压缩本机库的示例(可以找到 here)
android {
packagingOptions {
jniLibs {
useLegacyPackaging true
}
}
}
将 minSdkVersion 从 21 更改为 24 后,我收到异常:
java.lang.UnsatisfiedLinkError: dalvik.system.DexClassLoader[DexPathList[[dex file "/data/user/0/com.test.testprint/files/nepcore.dex"],nativeLibraryDirectories=[/data/app/com.test.testprint-2/lib/arm, /data/resource/lib, /vendor/lib, /system/lib]]] couldn't find "libDeviceConfig.so"
切换回 minSdk 21 后,一切恢复正常。
我也尝试添加 ndk 过滤器,但没有帮助:(
任何人都可以帮助理解这个异常是如何与 minSdkVersion 联系起来的吗?
需要在清单文件中的应用程序部分中添加一行:)
<application
...
android:extractNativeLibs="true">
对于minSdk >= 23 and Android Gradle Plugin >= 4.2.0,需要在Androidmanifest.xml
中使用useLegacyPackaging in app's build.gradle file instead of extractNativeLibs使用 DSL 打包压缩本机库的示例(可以找到 here)
android {
packagingOptions {
jniLibs {
useLegacyPackaging true
}
}
}