UnsatisfiedLinkError 无法找到 "libnative-lib.so" with libnative-lib.so 在 aar 文件中可见
UnsatisfiedLinkError couldn't find "libnative-lib.so" with libnative-lib.so visible in aar file
所以我构建了一个 Android aar 库,其中包含一个本地库 (libnative-lib.so)。出于向后兼容性的考虑,它只针对armeabi和x86架构构建。
现在,我放置 aar 文件并在我的 "client" 应用程序中使用它,我可以清楚地看到 libnative-lib.so 在 aar 的 jni/armeabi 和 jni/x86 文件夹。
但应用程序崩溃并显示此消息:
java.lang.UnsatisfiedLinkError: ...
nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]] couldn't find "libnative-lib.so"
客户端应用似乎无法从 aar 中找到 nativelib。有什么建议吗?
实际上就我而言,由于提到的向后兼容性考虑,我需要将其放入我的库 build.gradle:
packagingOptions {
exclude 'lib/armeabi-v7a/libnative-lib.so'
exclude 'lib/x86_64/libnative-lib.so'
}
保护构建远离不需要的架构。
所以我构建了一个 Android aar 库,其中包含一个本地库 (libnative-lib.so)。出于向后兼容性的考虑,它只针对armeabi和x86架构构建。
现在,我放置 aar 文件并在我的 "client" 应用程序中使用它,我可以清楚地看到 libnative-lib.so 在 aar 的 jni/armeabi 和 jni/x86 文件夹。
但应用程序崩溃并显示此消息:
java.lang.UnsatisfiedLinkError: ...
nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]] couldn't find "libnative-lib.so"
客户端应用似乎无法从 aar 中找到 nativelib。有什么建议吗?
实际上就我而言,由于提到的向后兼容性考虑,我需要将其放入我的库 build.gradle:
packagingOptions {
exclude 'lib/armeabi-v7a/libnative-lib.so'
exclude 'lib/x86_64/libnative-lib.so'
}
保护构建远离不需要的架构。