3

是否可以在 NDK 中定义最低 API 级别和目标 API 级别,就像在 java 清单中一样?

我只知道我可以使用 APP_PLATFORM 来指定目标,但是如果我还想设置最小 API 怎么办?

4

1 回答 1

4

不,您不能在 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 下

于 2013-01-29T10:00:34.973 回答