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_64
和 armb64-v8a
.so
文件以获得 64 位支持。您无法在 Android Studio 中构建它们。这是本机库。
必须为这些处理器架构重建您正在使用的库的依赖项。
在遵循 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_64
和 armb64-v8a
.so
文件以获得 64 位支持。您无法在 Android Studio 中构建它们。这是本机库。
必须为这些处理器架构重建您正在使用的库的依赖项。