【问题标题】:Android NDK multiple API LevelsAndroid NDK 多个 API 级别
【发布时间】:2013-01-27 19:11:21
【问题描述】:

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

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

【问题讨论】:

    标签: api android-ndk


    【解决方案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 下

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 2013-01-01
      • 1970-01-01
      相关资源
      最近更新 更多