UnsatisfiedLinkError 找不到“libnative-lib.so”,并且 libnative-lib.so 在 aar 文件中可见

Arz*_*ath 5 android-ndk aar

所以我构建了一个 Android aar 库,其中包含一个本机库(libnative-lib.so)。出于向后兼容性的考虑,它仅针对armeabi 和x86 架构构建。

现在,我放置 aar 文件并在我的“客户端”应用程序中使用它,我可以清楚地看到 libnative-lib.so 位于 aar 的 jni/armeabi 和 jni/x86 文件夹下。

但应用程序崩溃并显示以下消息:

java.lang.UnsatisfiedLinkError: ...
nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]] couldn't find "libnative-lib.so"
Run Code Online (Sandbox Code Playgroud)

这看起来客户端应用程序无法从 aar 找到 nativelib。有什么建议么?

Arz*_*ath 0

实际上就我而言,由于提到的向后兼容性考虑,我需要将其放入我的库的 build.gradle 中:

packagingOptions {
    exclude 'lib/armeabi-v7a/libnative-lib.so'
    exclude 'lib/x86_64/libnative-lib.so'
}
Run Code Online (Sandbox Code Playgroud)

保护构建远离不需要的架构。