Unity 2020.3.xx安卓项目Gradle构建失败:Build Tools 31.0.0异常
解决方案
核心错误原因确认
- 首要失败原因:Android Build Tools 31.0.0版本存在已知兼容性问题,官方默认移除了dx工具,而Unity 2020.3版本的默认Gradle配置依赖dx工具执行构建,导致构建失败。
- 次要警告:
android.enableR8=false配置已废弃,后续Android Gradle Plugin 5.0+将不再支持关闭R8,可同步调整配置避免警告。
具体解决步骤
方案1:替换为兼容的Build Tools版本(最稳定)
- 打开Unity编辑器,依次进入
编辑 > 首选项 > 外部工具(Windows)/Unity > Settings > External Tools(Mac) - 找到Android配置栏,取消「使用Unity内置SDK」的勾选,打开你的Android SDK Manager
- 卸载Android Build Tools 31.0.0版本,安装30.0.3或者32.0.0版本(这两个版本dx工具完整,且兼容Unity 2020.3系列)
- 回到Unity项目,依次进入
文件 > 生成设置 > Player设置 > Android选项卡 > 发布设置,将Build Tools版本指定为你刚刚安装的版本,比如30.0.3 - 清理项目缓存后重新执行构建即可。
方案2:修复现有31.0.0版本的dx工具(不想换版本时用)
适用场景:因其他依赖必须使用Build Tools 31.0.0的情况
- 打开你的Android SDK目录,进入
build-tools/31.0.0文件夹 - 找到
d8.bat(Windows)/d8(Mac/Linux)文件,复制一份重命名为dx.bat/dx - 进入
build-tools/31.0.0/lib文件夹,找到d8.jar文件,复制一份重命名为dx.jar - 回到Unity重新执行构建即可。
可选:处理R8废弃警告
- 找到项目中的
gradleTemplate.properties文件(如果没有可以在Player设置的发布设置里勾选「自定义Gradle属性模板」生成) - 将文件中的
android.enableR8=false改为android.enableR8=true,Unity 2020.3版本已支持R8压缩,开启后不会影响功能,同时消除废弃警告。
内容的提问来源于stack exchange,提问作者seyfzone
相关产品推荐
相关产品推荐

