最重要的是,我是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)。还有另一种解决方法吗?
答案 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补丁版本
很明显,在撰写本文时,最新版本的统一编辑器中存在一个错误。 (2017.2.0f3) 它为AndroidManifest.xml中的configChanges增加了“密度”,这在7.0以下的Android版本(API级别24)中不受支持。