Android 2D Textures Overrides
Gradle 故障排除

Gradle for Android

Gradle 是一种可自动执行许多构建过程的 Android 构建系统。这种自动化意味着不太可能发生许多常见的构建错误。最值得注意的是,在 Unity 中,该系统可减少 DEX(Dalvik 可执行文件格式)文件中的方法引用数量,这意味着可降低遇到 DEX 限制问题的可能性。但是,由于 Gradle 与默认的 Unity Android 构建系统之间存在差异,一些现有项目可能很难转换为 Gradle。

您可以使用 Unity 中的 Gradle 构建系统构建输出包 (APK),也可以导出 Gradle 项目并在外部工具(如 Android Studio)中进行构建。

如需了解更多信息,请参阅 Gradle 的 Gradle for Android 构建入门 (Getting Started with Gradle for Android Build) 参考资源。

使用 Gradle for Android 进行构建

要在 Unity 中使用 Gradle 进行 Android 版本的构建,请执行以下操作:

1.在 Unity Editor 中,打开 Build Settings 窗口(菜单:__File__ > Build Settings…) 2.在 Platform 列表中,选择 Android 3.在 Build System 下拉选单中选择 Gradle (new),然后单击 Build

Gradle 构建设置
Gradle 构建设置

导出 Gradle 项目

要导出 Gradle 项目,请按照上面的说明操作,但要先在 Build 窗口中勾选 Export Project 选项再单击 Build。单击 Build 时,Unity 会在指定目录中生成 Gradle 项目,而不是构建 APK。可将此项目导入 Android Studio 以进行其他修改或完全控制构建过程。

有关构建输出包 (APK) 的更多信息,请参阅 Android Studio 的构建配置文档

提供自定义的 build.gradle 模板

To use your own build.gradle file when building the APK from Unity, enable the Custom Gradle Template property on the Player window. This generates a default mainTemplate.gradle file for you, which you can edit. This template contains several variables that are completed] by the Unity build process, such as **TARGETSDKVERSION**. You would normally leave these alone. You can also use your own settings.gradle file by providing a settingsTemplate.gradle file in your Plugins directory in the same way (although there is currently no automatic way to do this). This file is responsible for including your library projects, so unless you want to also override that process, the file should at least contain this line:

**INCLUDES**

该行将被所有库的 include 指令替换。

模板变量

These variables can be used in the mainTemplate.gradle file:

变量: 描述:
DEPS 项目依赖项(即,使用的库)的列表。
API VERSION 构建针对的 API 版本(如 25)。
BUILDTOOLS 使用 SDK 构建工具(如 25.0.1)。
TARGETSDKVERSION 目标 API 版本(如 25)。
APPLICATIONID Android 应用程序 ID(如 com.mycompany.mygame)。
MINIFY_DEBUG 允许为调试版本缩小(true 或 false)。
PROGUARD_DEBUG 使用 proguard 进行缩小(true 或 false)。
MINIFY_RELEASE 允许为发布版本缩小(true 或 false)。
PROGUARD_RELEASE 使用 proguard 进行缩小(true 或 false)。
USER_PROGUARD 自定义用户 proguard 文件(即 progard-user.txt)。
SIGN 如果要签署构建,完成 signingConfigs 部分。
SIGN_CONFIG 如果已签署构建,设置为“signingConfig signingConfig.release”。
DIR_GRADLEPROJECT 创建 Gradle 项目的目录。
DIR_UNITYPROJECT Unity 项目的目录。
MINSDKVERSION Minimum API version (for example, 25).

缩小

You can activate Proguard Minification under the Minify setting on the Player window. Note that proguard can easily strip out code that is actually needed, so often this process needs to be configured carefully. You can generate a custom proguard.txt file by enabling the User Proguard File setting under the same settings as a starting point.

请参阅 ProGuard 手册以了解有关 Proguard 的更多信息。

使用 Gradle 进行构建时的错误

如果在使用 Gradle 进行 Android 版本构建期间发生错误,Unity 将显示错误对话框。单击 Troubleshoot 即可在系统的浏览器中打开有关 Gradle 故障排除的 Unity 文档。

Unity 的 Gradle 构建错误对话框
Unity 的 Gradle 构建错误对话框

  • 2017–10–02 Page published with limited editorial review

  • 扩展了自定义 build.gradle 模板部分。

  • 5.5 中的新功能

Android 2D Textures Overrides
Gradle 故障排除