Unity项目Android构建失败求助:Gradle build failed报错
核心排查步骤
校验Gradle与SDK版本适配
打开Edit > Project Settings > Player > Publishing Settings > Build,确认Gradle版本和Android SDK Build-Tools版本匹配(例如Unity 2022.x推荐Gradle 7.4+、Build-Tools 33.0.2)。若之前用内置Gradle,可切换为本地Gradle(指定无中文/空格的本地Gradle路径)。清理缓存文件
手动删除以下目录:- 项目内的
Temp/、Library/、obj/文件夹 - 本地Gradle缓存(Windows:
C:\Users\[用户名]\.gradle\caches;Mac:~/.gradle/caches)
重启Unity后重新构建。
- 项目内的
排查依赖冲突
检查Assets/Plugins/Android目录,删除重复的jar/aar包(如不同版本的support库、Google服务包);打开Package Manager,确保com.unity.android.android-resolver为最新稳定版,排查Android相关包的版本兼容问题。查看完整Gradle报错日志
在Unity Console中点击报错的Show Log,复制Gradle执行命令(如gradlew assembleRelease),手动在终端运行该命令,获取更具体的错误原因(比如资源重复、minSdkVersion不匹配、权限问题等)。检查Player Settings配置
- 确认
Other Settings里的Minimum API Level和Target API Level与Gradle配置一致,不要低于Build-Tools支持的版本; - 暂时关闭
Custom Main Gradle Template、Custom Launcher Gradle Template,用Unity默认模板构建,排除自定义模板的语法错误。
- 确认
确认JDK版本
Unity 2020+建议使用内置OpenJDK 11,在Edit > Preferences > External Tools中确认JDK路径指向Unity自带版本,避免使用Oracle JDK或更高版本。
特殊场景处理
若以上步骤无效:
- 新建空Unity项目,逐步导入原项目的核心代码、资源和第三方插件,每次导入后构建Android,定位冲突来源;
- 检查项目路径、文件名是否含中文,Gradle对中文支持较差,全部替换为英文。
内容的提问来源于stack exchange,提问作者גיל אלעזר

