当我用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。
谁能告诉我如何解决这个警告,因为我认为这可能会导致问题。
发布于 2013-04-09 04:07:39
看起来您正在使用Android-9作为运行时。您可以将APP_PLATFORM := android-8放在Application.mk文件中,警告将会消失。
发布于 2013-09-15 15:53:33
警告/错误背后的原因是它想让你知道它正在编译的目标平台的本机代码比清单中指定的“最低”要高。它基本上是在说:“在使用旧版操作系统不支持的功能时要小心,Application.mk的改变是可以的,应该不会对编译后的代码产生任何负面影响。”
~~替代解决方案。
对于r8,您可以更改构建设置,将其视为警告而不是错误。这在r8中有效,但在r9中只是部分修复。
对于NDK rev r9 (也适用于其他版本,但位置/行号可能不同)
${NDK}/build/core/add-application.mk第138行
在行首添加"#“。
$(调用__ndk_info,警告: APP_PLATFORM $(APP_PLATFORM)大于android:minSdkVersion $(APP_MIN_PLATFORM_LEVEL) in $(APP_MANIFEST))
一个字符,30秒修复...去调试本机代码。
发布于 2014-01-07 23:22:05
如果您确实希望将本地库编译为比minSdkVersion更新的版本,那么只需配置Eclipse,将错误更改为警告即可。如果您知道您的Java代码不会加载旧版本Android中的本地库,这将非常有用。(警告:如果你不能保证这一点,那么如果有不满意的动态库链接,那么在比APP_PLATFORM中指定的版本更早的安卓版本上加载你的本地库可能会失败,并使应用程序崩溃-例如,如果你的APP_PLATFORM是9,你使用的是OpenSLES,如果你试图在Android2.2或更早的版本上使用JNI,这将失败。但只要您的Java端知道这一点,并确保在旧版本中永远不会调用loadLibrary,那么您就没有问题。)
您可以按照以下步骤更改Eclipse设置,这些步骤由来自谷歌(位于this link)的人员提供(但也请参阅下面的重要说明):
在eclipse中:
- 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重要!谷歌的家伙没有注意到的是,你还需要使用设置中的“上移”按钮来将你的新规则移到顶部,否则其他一些更通用的规则会遮盖它,它就不能工作了。
https://stackoverflow.com/questions/15872254
复制相似问题