Gradle从3.0.1迁移至4.4后Android Studio构建失败:找不到指定依赖
解决Gradle迁移后
ModuleVersionNotFoundException的问题 你遇到的这个报错是典型的混淆了Gradle分发版本和Android Gradle Plugin(AGP)版本导致的——你想升级的是Gradle分发版本到4.4,但错误地把AGP版本也改成了4.4,而这个版本的AGP根本不存在!
问题根源
com.android.tools.build:gradle是Android Gradle Plugin的依赖,它和Gradle分发版本有严格的对应关系:Gradle 4.4对应的AGP版本范围是3.1.0~3.2.0,不存在AGP 4.4这个版本,所以构建工具找不到对应的依赖包。
修复步骤
1. 修正Project级别的build.gradle配置
打开项目根目录下的build.gradle(注意是Project级,不是Module级),找到dependencies块里的classpath配置,把AGP版本改成和Gradle 4.4兼容的版本,比如3.1.4:
buildscript { repositories { google() jcenter() } dependencies { // 替换成兼容Gradle 4.4的AGP版本 classpath 'com.android.tools.build:gradle:3.1.4' } }
2. 确认Gradle分发版本配置
打开gradle/wrapper/gradle-wrapper.properties文件,确保distributionUrl指向Gradle 4.4的分发包,这个是你想要升级到的版本,保持不变即可:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
3. 同步项目并清理缓存
- 在Android Studio中点击右上角的Sync Project with Gradle Files按钮,同步配置
- 如果还是有问题,可以执行
File > Invalidate Caches / Restart清理缓存后重新构建
额外提示
以后升级Gradle时,一定要注意AGP和Gradle版本的对应关系,避免版本不匹配的问题:比如AGP 3.1.x对应Gradle 4.4~4.6,AGP 3.2.x对应Gradle 4.6~5.3,以此类推。
内容的提问来源于stack exchange,提问作者Kisan Thapa




