【问题标题】:In libGDX, can I target lower API level, than the framework requires?在 libGDX 中,我可以针对比框架要求更低的 API 级别吗?
【发布时间】:2026-02-05 04:25:01
【问题描述】:

我已经下载了最新版本的 libGDX 框架,它适用于 API 级别 20。现在,我想针对 API 级别 19,因为它的市场份额很大,但是框架的开发人员“强烈反对”使用旧版本。我可以使用 API 级别 20 SDK 创建项目,然后在将其导入 Android Studio 时更改 SDK,但我不知道它会如何工作。它会起作用吗,还是我必须使用旧版本才能达到 API 级别 20? (也许有替代品?)

文档没有太大帮助,我还没有看到其他人遇到过这样的问题,所以我可能遗漏了一些东西。

【问题讨论】:

  • 您混淆了目标版本和最低版本。一个 LibGDX 新项目可以在 Android 8+ 上开箱即用。你只需要用20编译它。
  • 感谢您的回复!我一点也不混淆它,我只是不确定在使用 API 级别 20 时是否可以针对 API 级别 19,这就是我说“目标”的原因。所以你是说我需要 API 级别 20 来编译,然后我可以使用 API 级别 19 与 Android Studio 一起工作?
  • 你有什么理由使用比它支持的更低的目标?你说了一些关于市场份额的事情,这让我觉得你认为你必须以 19 为目标才能支持 19 的设备。但我不明白为什么你不能定位低于你正在使用的 SDK 的版本,除非 Lint 抱怨它。
  • 所以我应该尽可能使用最高的 API 级别?例如,在 Kitkat 版本上运行它不会造成任何麻烦吗?如果你想构建一个应用程序,我猜你会瞄准拥有 30% 以上 Android 市场份额的 Kitkat 版本。那么你会使用哪个 SDK?新版安卓支持旧版应用,但不知道是不是双向的。
  • 我添加了一个详细的答案,但仍然不确定您是否了解目标版本是什么。为了最大化支持的设备数量,目标版本无关紧要。最重要的是最低版本。

标签: android api sdk libgdx


【解决方案1】:

通常,您总是希望以可用的最新 API 版本为目标,并将您的 minSdkVersion 设置为您愿意为支持所付出的努力。

但是,LibGDX 仅在 20 级之前进行了官方测试,因此这是可以安全使用的目标。如果你想使用一些新的 API 特性,你只需要高于 20。如果您这样做,请确保您在具有该 API 或更高版本的设备上进行测试,因为 LibGDX 尚未正式开始支持它。

如果你的目标是 20,它在以后的版本中仍然可以正常工作。

当 Android 获得可能破坏旧应用的 API 或行为更改时,该更改仅对针对新 API 或更高版本的应用生效。因此,商店中所有尚未更新的旧应用都不会受到新 API 的影响,因为它们不针对新 API。

我发布了面向 20 的 LibGDX 应用程序并转到最低版本 9。这些应用程序可在运行 Gingerbread 或更高版本的任何设备上安装并运行良好。我总是使用最新的 SDK 进行编译,因为我不想安装多个 SDK 版本。

【讨论】:

  • 谢谢,我真的误解了目标 API 的含义,非常感谢你让我理解它的努力:)
最近更新 更多