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

时间:2018-03-15 22:18:21

标签: android-ndk aar

所以我构建了一个包含本机库(libnative-lib.so)的Android aar库。由于向后兼容性考虑,它仅为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"

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

1 个答案:

答案 0 :(得分:0)

实际上在我的情况下,由于上面提到的向后兼容性考虑,我需要将它放在我的库的build.gradle中:

packagingOptions {
    exclude 'lib/armeabi-v7a/libnative-lib.so'
    exclude 'lib/x86_64/libnative-lib.so'
}

防止构建远离不需要的架构。