Corona SDK 中 Android 构建的多 Dex 支持发布

Corona SDK 中 Android 构建的多 Dex 支持发布

随着最近新插件的涌现,一些 Corona 开发者报告说,Android 构建失败,并出现如下错误

此错误是由于 Android 平台的设计限制造成的,其中包含已编译 Android 代码的文件被限制为 65k 个符号。有关此限制的更多信息,请参见此处

今天,我们很高兴地宣布,得益于多 Dex 支持,为 Android 构建的 Corona SDK 项目不再受此限制!

什么是多 Dex 支持?

多 Dex 支持允许 Android 构建系统生成包含 Android 字节码的多个文件,并能够在两者之间动态加载符号。这些 Android 字节码文件称为 DEX 文件,如前所述,每个文件都有 65k 个符号的硬限制。

如何在 Corona SDK 中利用多 Dex?

要利用多 Dex 支持,您唯一需要做的就是升级到每日构建版本 2016.2853 或更高版本。之后,您无需执行任何操作即可为 Android 执行多 Dex 构建。只需像往常一样进行 Android 构建,我们的构建系统会为您处理其余的事宜。

Corona 如何解决已知的多 Dex 限制?

多 Dex 系统对于旧版本的 Android 并不完美,并且存在已知限制。我们已尽力确保 Corona 制作的应用程序不受这些限制的阻碍。

也就是说,我们仍然建议您在旧版本的 Android(2.3.3 – 4.0)上测试您的项目。如果您的项目确实遇到上面链接中列出的任何限制,则您可能需要将项目的 minSdkVersion 更改为 API Level 14(Android 4.0)。您可以通过将以下内容添加到您的 build.settings 中来完成此操作

通过 Corona SDK 对 Android 构建的影响。

生成使用多个 DEX 文件的 Android 应用程序不是一个廉价的过程。因此,您可能会看到构建时间略有增加。

报告问题

如果遇到任何问题,请通过提交错误报告告知我们。请记住,错误报告应包含最少的代码(main.lua)来显示问题,以及 config.luabuild.settings。如果您的项目需要任何美术作品或声音,请确保它们也包含在提交的项目中。

请随时在我们的论坛中讨论此问题。

标签
,
ajay
3 条评论
  • Tony
    发布于 17:27,3 月 31 日

    干得好,谢谢。
    企业版是否也提供此功能?

    • Alexander McCaleb
      发布于 13:53,5 月 25 日

      嗨,Tony,
      此公告仅适用于使用模拟器的构建。对于企业版,您可以将项目迁移到 Android Studio,然后按照 Google 的说明在那里获得多 Dex 支持。
      有关更多详细信息,请参阅我们的Android Studio 企业版公告

  • Steve Bullock
    发布于 12:17,4 月 1 日

    这是个好消息。感谢这项改进!