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) 参考资源。
要在 Unity 中使用 Gradle 进行 Android 版本的构建,请执行以下操作:
1.在 Unity Editor 中,打开 Build Settings 窗口(菜单:__File__ > Build Settings…) 2.在 Platform 列表中,选择 Android 3.在 Build System 下拉选单中选择 Gradle (new),然后单击 Build
要导出 Gradle 项目,请按照上面的说明操作,但要先在 Build 窗口中勾选 Export Project 选项再单击 Build。单击 Build 时,Unity 会在指定目录中生成 Gradle 项目,而不是构建 APK。可将此项目导入 Android Studio 以进行其他修改或完全控制构建过程。
有关构建输出包 (APK) 的更多信息,请参阅 Android Studio 的构建配置文档。
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 进行 Android 版本构建期间发生错误,Unity 将显示错误对话框。单击 Troubleshoot 即可在系统的浏览器中打开有关 Gradle 故障排除的 Unity 文档。
2017–10–02 Page published with limited editorial review
扩展了自定义 build.gradle 模板部分。
5.5 中的新功能