是否可以在 NDK 中定义最低 API 级别和目标 API 级别,就像在 java 清单中一样?
我只知道我可以使用 APP_PLATFORM 来指定目标,但是如果我还想设置最小 API 怎么办?
是否可以在 NDK 中定义最低 API 级别和目标 API 级别,就像在 java 清单中一样?
我只知道我可以使用 APP_PLATFORM 来指定目标,但是如果我还想设置最小 API 怎么办?
不,您不能在 NDK 构建系统中指定此类信息,因为每个版本的 Android 系统映像都不同。
对于本机代码,可移植性方面与仅用 Java 编写应用程序时不同。
如果您想使用本地代码支持不同版本的 Android,您很可能必须针对不同的 APP_PLATFORM 编译您的代码。
正如您所说,您只能在 Application.mk 文件中使用 APP_PLATFORM 指令,该文件记录为:
APP_PLATFORM = 命名目标 Android 平台。例如,“android-3”对应于 Android 1.5 系统映像。有关平台名称和相应 Android 系统映像的完整列表,请阅读 docs/STABLE-APIS.html。
来自 docs/STABLE-APIS.html (android-ndk-r8d) 的部分:
定义了几个“API 级别”。每个 API 级别对应于给定的 Android 系统平台版本。当前支持以下级别:
android-3 -> Official Android 1.5 system images android-4 -> Official Android 1.6 system images android-5 -> Official Android 2.0 system images android-6 -> Official Android 2.0.1 system images android-7 -> Official Android 2.1 system images android-8 -> Official Android 2.2 system images android-9 -> Official Android 2.3 system images android-14 -> Official Android 4.0 system images
请注意,对于 NDK,android-6 和 android-7 与 android-5 相同,即它们提供完全相同的原生 ABI!
重要提示:与给定 API 级别对应的标头现在位于 $NDK/platforms/android-/arch-arm/usr/include 下