Android ndk 无法满足链接错误';“找不到”;libnative lib.so“;在aar文件中可见libnative-lib.so

Android ndk 无法满足链接错误';“找不到”;libnative lib.so“;在aar文件中可见libnative-lib.so,android-ndk,aar,Android Ndk,Aar,因此,我构建了一个Android aar库,其中包含一个本机库(libnative lib.So)。出于向后兼容性考虑,它只针对armeabi和x86体系结构构建 现在,我将aar文件放在我的“客户端”应用程序中使用,我可以清楚地看到libnative-lib.so位于aar的jni/armeabi和jni/x86文件夹下 但应用程序崩溃时显示以下消息: java.lang.UnsatisfiedLinkError: ... nativeLibraryDirectories=[/vendor/l

因此,我构建了一个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"

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

实际上,在我的例子中,由于前面提到的向后兼容性考虑,我需要在我的库的build.gradle中添加以下内容:

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

保护构建远离不需要的体系结构。

这将导致不满意的LinkError无法在几乎所有版本中找到“libnative lib.so”错误devices@C如果你把这两条线都放进去,也许。但当我发布这个问题时,这个解决方案是很好的,当时armeabi和X86仍然受支持