【问题标题】:Android NDK: WARNING: APP_PLATFORM android-9 is larger than android:minSdkVersion 8Android NDK:警告:APP_PLATFORM android-9 大于 android:minSdkVersion 8
【发布时间】:2013-03-30 03:08:23
【问题描述】:

使用 cygwin 编译我的 cocos2d-x 项目时收到以下警告。

`/cygdrive/e/project/MyGame/proj.android `
/cygdrive/e/android-ndk-r8e/build/core/add-application.mk:128: Android NDK: WARNING:APP_PLATFORM android-9 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml

我正在使用 NDK 版本 r8e。我的 AndroidManifest.xml 中的最低 SDK 版本是 8,但我没有在任何地方将 APP_PLATFORM 指定为 android-9。我怎样才能将其更改为 8。

谁能告诉我如何解决这个警告,因为我认为这可能会导致问题。

【问题讨论】:

标签: android android-ndk cygwin cocos2d-x


【解决方案1】:

您似乎正在使用 Android-9 作为运行时。您可以将APP_PLATFORM := android-8 放入您的Application.mk 文件中,警告就会消失。

【讨论】:

  • 这有影响吗?
  • 好吧,你必须确保你的本地代码满足这个约束,例如在给定的平台上工作。
  • 对于 gradle 实验请看这个答案:stackoverflow.com/a/34535385/91226
【解决方案2】:

警告/错误背后的原因是它想让您知道它正在为高于清单中指定的“最低”的目标平台编译本机代码。它基本上是在说'小心使用旧操作系统不支持的功能。 Application.mk 更改没问题,不会对编译后的代码产生任何真正的不利影响。

~~ 替代解决方案。

对于 r8,您可以更改构建设置以将其视为警告而不是错误。这在 r8 中有效,但在 r9 中只是部分修复。

对于 NDK rev r9(也适用于其他版本,但位置/线路#可能不同)

${NDK}/build/core/add-application.mk 第 138 行

在行首添加“#”。

#$(call __ndk_info,WARNING: APP_PLATFORM $(APP_PLATFORM) 大于 $(APP_MANIFEST) 中的 android:minSdkVersion $(APP_MIN_PLATFORM_LEVEL))

一个字符,30 秒修复……去调试原生代码。

【讨论】:

    【解决方案3】:

    如果您确实想为比 minSdkVersion 更新的版本编译本机库,您只需配置 Eclipse 以将错误更改为警告。如果您知道您的 Java 代码不会在旧版本的 Android 中加载本机库,这将很有用。 (警告:如果您不保证这一点,那么在比您的 APP_PLATFORM 中指定的版本更早的 Android 版本上加载您的本机库可能会失败并在存在不满意的动态库链接时使应用程序崩溃 - 例如,如果您的 APP_PLATFORM 为 9 并且您使用OpenSLES,如果您尝试在 Android 2.2 或更早版本上使用 JNI,这将失败。但只要您的 Java 端知道这一点并确保永远不会在旧版本上调用 loadLibrary,那么您就可以了。)

    您可以按照以下步骤更改 Eclipse 设置,由 Google(this link)提供(但也请参阅下面的重要说明):

    在日食中:

    - Window -> Preferences -> C/C++ -> Build -> Settings
    - Select CDT GNU C/C++ Error Parser
    - In the Error Parser options at the bottom, add a new entry with the following contents:
    
    Severity: Warning
    Pattern: (.*?):(\d+): Android NDK: WARNING:(.*) 
    File: $1
    Line: $2
    Description: $3
    

    重要提示! Google 人没有注意到的是,您还需要使用设置中的“上移”按钮将新规则移到顶部,否则其他一些更通用的规则规则掩盖了它,它不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 2019-06-19
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多