升级Gradle后Android项目无法编译,求助解决依赖缺失问题
Gradle升级后Android编译错误解决办法
先搞定依赖找不到的核心问题
错误里明确三个依赖拉取不到:com.budiyev.android:code-scanner:2.1.0、com.whiteelephant:monthandyearpicker:1.3.0、com.github.barteksc:android-pdf-viewer:3.2.0-beta.1,这是编译失败的直接原因,先处理这个:
检查仓库配置:
项目根目录的settings.gradle(Gradle 7+用这个)或者build.gradle里,必须添加对应依赖的仓库:- 前两个依赖属于JCenter仓库(虽已归档,但旧依赖只能从这里获取),需添加
jcenter() - 第三个是GitHub托管的依赖,需要添加JitPack仓库
示例配置(Kotlin版settings.gradle.kts):
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() maven { uri("https://jitpack.io") } } }Groovy版根目录
build.gradle配置:allprojects { repositories { google() mavenCentral() jcenter() maven { url 'https://jitpack.io' } } }- 前两个依赖属于JCenter仓库(虽已归档,但旧依赖只能从这里获取),需添加
验证依赖可用性:
- 确认版本号无拼写错误,部分旧依赖已从MavenCentral下架,只能通过JCenter或镜像仓库获取
- 若JCenter访问缓慢,可替换为阿里云镜像:
maven { url "https://maven.aliyun.com/repository/jcenter" }
再处理配置缓存问题
配置缓存的报错是依赖解析失败引发的连锁问题,等依赖问题解决后,该错误大概率会自动消失。若仍存在:
- 清理缓存:执行命令
./gradlew clean --stop && ./gradlew cleanBuildCache,清除所有旧缓存状态 - 临时禁用配置缓存:在
gradle.properties中添加一行org.gradle.configuration-cache=false,优先保证编译正常,后续再适配配置缓存
额外检查项
- 确认Gradle版本与Android Gradle Plugin(AGP)版本匹配:例如Gradle 8.x对应AGP 8.x,版本不兼容会引发各类编译异常
- 检查模块
build.gradle中的依赖声明是否存在拼写错误
内容的提问来源于stack exchange,提问作者Patrick Renaud
相关产品推荐
相关产品推荐

