的Android NDK:警告:APP_PLATFORM机器人-9比机器人较大:8的minSdkVe

2019-08-20 05:32发布

与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。

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

Answer 1:

看来你正在使用Android系统的9运行。 你可以把APP_PLATFORM := android-8Application.mk文件,并警告将消失。



Answer 2:

警告/错误背后的原因是,它希望让你知道它的编译本地代码的目标平台比清单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秒修复...去调​​试本地代码。



Answer 3:

如果你想编译您的本机库的比你的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