Android 添加“ndk { abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' }'后应用不兼容 64 位

Android app not 64 bit compliant after adding 'ndk { abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' }'

在遵循 google 关于如何使 android 应用 64 位兼容 here 的文档后,我一直在尝试构建 android 应用程序包仍然不兼容 64 位。

android studio 项目包含不同的模块(应用程序),它们有自己的 build.gradle 文件,但所有应用程序都有一个通用的 build.gradle(Module:app) 和 build.gradle 项目级别。 在一般 build.gradle(Module:app) 我添加了以下内容:

 ndk {
            abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        } 

根据 google 文档的默认配置。 我还尝试将相同的代码添加到应用程序的 build.gradle(Module:app) 并构建了应用程序包,这是 lib 文件的样子

gradle 不会生成使应用程序兼容 64 位所必需的 x86_64 和 arm64-v8a 文件。例如,我尝试了将 abifilter 放置在何处的不同组合,仅将其添加到根 build.gradle,仅将其添加到应用程序的 build.gradle 并且在两者上都有 abifilter 但它不会构建 64位支持库。

该应用程序内置于 java 中,我能够通过添加以下内容构建 64 位应用程序包:

ndk {
        abiFilters 'arm64-v8a', 'x86_64'
    }

然后分析了包,发现它没有 lib 文件夹,google 开发人员控制台警告消失了,但是我如何为这种情况构建 64 位和 32 位支持库?

您需要 x86_64armb64-v8a .so 文件以获得 64 位支持。您无法在 Android Studio 中构建它们。这是本机库。 必须为这些处理器架构重建您正在使用的库的依赖项。