Android NDK 多个 API 级别
Posted
技术标签:
【中文标题】Android NDK 多个 API 级别【英文标题】:Android NDK multiple API Levels 【发布时间】:2013-01-27 19:11:21 【问题描述】:是否可以在 NDK 中定义最低 API 级别和目标 API 级别,就像在 java 清单中一样?
我只知道我可以使用 APP_PLATFORM 来指定目标,但是如果我还想设置最小 API 怎么办?
【问题讨论】:
【参考方案1】:没有。您无法在 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
请注意,android-6 和 android-7 与 android-5 相同 NDK,即它们提供完全相同的原生 ABI!
重要提示: 与给定 API 级别对应的标头现在位于 在 $NDK/platforms/android-/arch-arm/usr/include 下
【讨论】:
以上是关于Android NDK 多个 API 级别的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅持续更新:Android开发时需要了解的平台代号,版本,API级别和NDK版本等
我的Android进阶之旅持续更新:Android开发时需要了解的平台代号,版本,API级别和NDK版本等