与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。 我最小的SDK版本是在我的AndroidManifest.xml 8,但我不指定APP_PLATFORM作为Android的9任何地方。 我怎样才能将其更改为8。
谁能告诉我怎么解决这个警告,因为我认为这可能会导致问题。
看来你正在使用Android系统的9运行。 你可以把APP_PLATFORM := android-8
在Application.mk
文件,并警告将消失。
警告/错误背后的原因是,它希望让你知道它的编译本地代码的目标平台比清单spcefied你的“最低”更高。 它基本上是说“要小心使用不支持旧操作系统的功能。 该Application.mk变化是好的,应该不会有什么真正的不利影响的编译代码。
~~替代解决方案。
对于R8可以更改构建设置,认为这是一种警告,而不是错误。 这个工作在R8,但仅在R9部分修复。
对于NDK转R9(在别人的作品太转速升高,但位置/线#可能不同)
$ {NDK} /build/core/add-application.mk线138
加上“#”在该行的开始。
#$(叫__ndk_info,警告:APP_PLATFORM $(APP_PLATFORM)是比Android大:$的minSdkVersion(APP_MIN_PLATFORM_LEVEL)在$(APP_MANIFEST))
一个字符,30秒修复...去调试本地代码。
如果你想编译您的本机库的比你的minSdkVersion更新的版本,你可以配置Eclipse的错误更改为警告。 如果你知道你的Java代码是不会加载本地库在旧版本的Android的这可能是有用的。 (警告:如果你不能保证,那么装上Android的版本比什么在你的APP_PLATFORM规定可能会失败和崩溃的应用程序,如果有不满意的动态库链接年龄的增长,本地库 - 例如,如果你的APP_PLATFORM是9和使用OpenSLES,如果您尝试使用在Android 2.2 JNI或更早版本,这将失败。但只要你的Java方知道这一点,并确保调用LoadLibrary永远不会叫上老版本,那么你的罚款。)
您可以通过以下步骤,由有人从谷歌(在规定改变了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
重要! 什么是谷歌家伙没注意的是,你还需要使用设置中的“上移”按钮,您的新规则移到顶部,否则其他一些比较通用的规则掩盖它,它不工作。
文章来源: Android NDK: WARNING: APP_PLATFORM android-9 is larger than android:minSdkVersion 8