7

毕竟,我是 Android 的新手,我正在使用 API 10(姜饼)。

我正在用 libgdx 开发一个简单的游戏。但是我只是安装了所有东西才能开始工作,并且......在AndroidManifest.xml这一行中:

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

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

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

我在 Stackoverflow 中找到了这个答案,我改用 API 13 并且可以工作......但我认为应该有一个更好的解决方案,而不是因为一行代码(还有很多人仍在使用 Gingerbread )。还有另一种方法可以解决这个问题吗?

4

3 回答 3

5

我已经度过了我生命中的三天(几乎是我的婚姻),但我有一个不同的答案。是隐藏的。我已经更正了目标 minsdk。的,为什么???因为|。我用 / 分隔了 configChanges 的元素,但这是不正确的。Yu 必须将它们分开| . 但在草书中很难实现是什么。所以,小心|

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

于 2014-05-23T11:05:22.710 回答
5

像这样配置您的 libgdx Android Manifest 并指定最小目标 sdk 版本:

<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"

我最近刚刚推出了一款具有这样配置的游戏,即使在 Gingerbread 上也能像魅力一样工作 ;-)

于 2014-03-09T00:09:19.447 回答
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(API 级别 24)的 android 版本不支持此功能。

于 2017-11-18T21:12:54.177 回答