旧项目升级Gradle至5.4.1后遇com.android.tools.build:gradle:3.4.2依赖解析失败
解决Gradle 5.4.1升级后无法解析com.android.tools.build:gradle:3.4.2的问题
嘿,我之前升级Gradle版本时也碰到过一模一样的问题,咱们来一步步搞定它!
问题根源
你遇到的“未定义任何仓库”错误,本质是Gradle 5.x版本开始对仓库配置的要求更严格,而且com.android.tools.build:gradle(也就是Android Gradle插件,简称AGP)是托管在Google专属Maven仓库里的,旧版本Gradle可能默认会包含这个仓库,但升级到5.4.1后必须显式声明才能找到它。
具体解决方案
你需要修改项目根目录下的build.gradle文件,确保在两个关键块里都配置了正确的仓库:
buildscript块(用于构建脚本自身的依赖)
这个块里必须声明google()仓库,因为AGP就放在这里。修改后的代码如下:buildscript { repositories { google() // 必须添加,AGP的专属仓库 mavenCentral() // 通用第三方依赖仓库 // 如果有老项目依赖jcenter,可以暂时保留,但jcenter已弃用,建议后续迁移到mavenCentral } dependencies { classpath 'com.android.tools.build:gradle:3.4.2' // 你的AGP版本 } }allprojects块(用于项目所有模块的依赖)
同样要在这里添加google()和mavenCentral(),确保模块依赖也能正常拉取:allprojects { repositories { google() mavenCentral() } }强制刷新依赖缓存
修改完配置后,在终端执行下面的命令,强制Gradle刷新依赖缓存,避免旧缓存导致的问题:./gradlew clean build --refresh-dependencies
额外说明
你用的AGP 3.4.2和Gradle 5.4.1是兼容的(AGP 3.4.x对应的Gradle版本范围是5.1.1-5.4.1),所以版本匹配这块没问题,核心问题就是仓库配置缺失。
按照上面的步骤修改后,应该就能正常解析到这个依赖了。如果还有问题,可以看看Android Studio的同步日志,里面会有更详细的错误提示,帮你定位其他可能的问题~
内容的提问来源于stack exchange,提问作者caijj2016
相关产品推荐
相关产品推荐

