“错误:不允许字符串类型(在'configChanges'中,值为'keyboard | keyboardHidden | orien”...在AndroidManifest.xml中

时间:2014-03-08 23:19:18

标签: android api android-manifest android-configchanges

最重要的是,我是Android的新手,我使用的是API 10(Gingerbread)。

我正在用libgdx开发一个简单的游戏。但我只是安装一切开始工作......并在AndroidManifest.xml这一行:

android:configChanges="keyboard|keyboardHidden|orientation|screenSize"

在控制台中出现下一个错误:_

error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenSize').

我已经在Stackoverflow this回答中找到了,我改为API 13并且工作......但是我认为应该有一个更好的解决方案,而不是因为一行代码(那里)使应用程序不兼容很多人还在使用Gingerbread)。还有另一种解决方法吗?

3 个答案:

答案 0 :(得分:6)

像这样配置您的libgdx Android Manifest并指定 min和target sdk version:

<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="19" />

你可以使用API​​ 5作为最小的android版本,因为这是libgdx仍然支持的。不要对目标sdk版本的含义感到困惑:这基本上意味着你已经针对最新的Android版本进行了测试,这并不意味着它不能在以前的版本上运行,因为你之前已经指定了一个min sdk 。经验法则:尽可能降低min-sdk和尽可能高的target-sdk。

以这种方式配置你的游戏仍应在旧设备中运行,并使用像这样的configChanges也可以:

 android:configChanges="keyboard|keyboardHidden|orientation|screenSize"

我刚刚推出了这样的配置游戏,就像姜饼上的魅力一样; - )

答案 1 :(得分:6)

我花了三天时间(几乎是我的婚姻),但我有一个不同的答案。被隐藏了。我纠正了minsdk,目标。 ,为什么???因为|。我有/或sepparated的configChanges的元素,但这不正确。 Yu必须用|来填充它们。但草书很难实现是什么。所以,请注意|

我希望这个答案有所帮助!!

答案 2 :(得分:3)

也失去了很多时间。这就是问题所在:

引起--AAPT工具在API级别24之前不允许configChanges的密度值

修正于 - 2017.3.0b8,2018.1.0a1,也将被移植到2017.2,2017.1和5.6补丁版本

link to unity forum

很明显,在撰写本文时,最新版本的统一编辑器中存在一个错误。 (2017.2.0f3) 它为AndroidManifest.xml中的configChanges增加了“密度”,这在7.0以下的Android版本(API级别24)中不受支持。