Android NDK:如何使用 minimumSdkVersion = 19 为 ARM64-v8a 构建

emK*_*oly 4 c++ android abi gradle android-ndk

我有一个 Android 库项目,它通过 Android NDK 在 C/C++ 中有一部分。我想为所有架构构建我的本机代码。如果我设置minSdkVersion为 21,则一切正常。但minSdkVersion如果我将minSdkVersionARM64-v8a 版本设置为 19,则我需要更低(SDK 19)。我知道没有运行 SDK 19 的 ARM64-v8a 设备。我如何才能实现在一个 APK 中构建所有平台并拥有minSdkVersion19 个?

She*_*ikh 5

实际上,“ minimumSdkVersion ”中有错字。正确的属性是“ minSdkVersion ”。

但是,应该为 API 19成功构建arm64-v8a 库,因为 NDK 构建脚本将自动采用正确的平台标头和库集。

如果您使用Gradle构建脚本,请尝试将其设置为目标 ABI 之一:

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

然后,显式设置本机构建的目标平台。
如果您使用CMake,则在 gradle 脚本集中:

externalNativeBuild { cmake { arguments '-DANDROID_PLATFORM=android-19' } }

如果您使用ndk-build,则在您的 Application.mk 集中:

APP_PLATFORM := android-19
Run Code Online (Sandbox Code Playgroud)


我希望这有帮助。如果它不会构建,请写下详细信息。