Unity 2021.2.14(Gradle 6.1.1)构建失败,请求成功构建解决方案
我来帮你梳理这个问题的核心原因和解决方案——你遇到的Could not find com.android.tools.build:gradle:6.1.1错误,本质是Gradle插件(AGP)版本与Unity预安装的Gradle版本不兼容,加上仓库配置缺失导致的。下面是一步步的修复方案:
1. 恢复AGP版本到Unity官方推荐的兼容版本
Unity 2021.2.14预安装的Gradle版本是6.1.1,而AGP(Android Gradle Plugin)6.1.1需要搭配Gradle 7.0及以上版本,这就出现了版本不匹配的问题。你之前修改的AGP版本是错误的,应该改回Unity默认的兼容版本:
打开baseProjectTemplate.gradle,将dependencies里的AGP版本改回:
dependencies { // 保留原有注释 classpath 'com.android.tools.build:gradle:4.0.3' **BUILD_SCRIPT_DEPS** }
AGP 4.0.3和Gradle 6.1.1是官方明确兼容的组合,完全适配Unity 2021.2的环境。
2. 补充Google Maven仓库配置
AGP的核心依赖需要从Google的Maven仓库获取,默认的Unity模板可能没有添加这个仓库,导致依赖查找失败。在baseProjectTemplate.gradle的buildscript块中添加google()仓库:
buildscript { repositories { google() // 新增这一行,放在最前面 jcenter() **ARTIFACTORYREPOSITORY** } // 下面的dependencies保持不变 }
3. 确认Gradle版本配置正确
你在gradleTemplate.properties中添加的distributionUrl是正确的,但要确保Unity的工具配置使用自带的Gradle:
- 打开Unity编辑器,进入
Edit > Preferences > External Tools - 勾选
Gradle Installed with Unity (recommended),不要手动指定外部Gradle版本,避免版本冲突
4. 清理Gradle缓存(可选但推荐)
如果之前的构建缓存损坏,也可能导致依赖下载失败。找到用户目录下的.gradle文件夹(比如C:\Users\你的用户名\.gradle),删除整个文件夹后重新启动Unity进行构建。
5. 网络环境适配(如果访问海外仓库受限)
如果你所在的网络无法正常访问Google或jcenter仓库,可以在baseProjectTemplate.gradle的repositories中添加国内镜像仓库,替换或补充原有仓库:
buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } **ARTIFACTORYREPOSITORY** } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } **ARTIFACTORYREPOSITORY** } }
按照以上步骤操作后,重新尝试构建Android项目,应该就能解决Gradle依赖找不到的问题了。
内容的提问来源于stack exchange,提问作者nish

