Android Studio 构建release版本失败 提示找不到lint-gradle-27.0.2.jar依赖
Android Release构建报
Could not find lint-gradle-27.0.2.jar的排查方案 核心根因
- 当前使用的AGP(Android Gradle Plugin)版本
4.0.2,按照官方依赖映射规则确实对应com.android.tools.lint:lint-gradle:27.0.2的依赖版本,报错本质是依赖拉取路径失效、拉取顺序错位,加上本地缓存残留的404索引导致的查找失败。 - 之前参考的早期StackOverflow同主题解决方案,都是针对2017-2018年Android Studio 3.x时代的旧场景设计的,直接照搬会因为仓库状态变化完全失效。
具体操作步骤
- 调整根目录build.gradle的仓库配置,删掉已经停服的jcenter仓库,把Google官方仓库的优先级提到最前面,替换后的配置如下:
注:repositories { google() mavenCentral() }jcenter()从2021年起就停止了对外公共拉取服务,不会再提供任何Android相关的新版依赖,保留在配置里不仅没用,还会导致依赖查找时优先走无效路径返回404。 - 为了避免项目其他模块出现lint依赖版本漂移,可以在根目录的
gradle.properties里添加全局配置,强制使用和当前AGP版本匹配的lint组件版本:android.experimental.lint.usePartialResults=false android.lint.worker.isolatable=false - 清理本地残留的错误依赖缓存:之前反复构建失败产生的404缓存索引会被Gradle本地保存,就算配置改对了也会直接读取错误缓存,不会重新发起拉取。需要手动删除本地路径下的lint相关缓存文件夹:
- Windows路径:
C:\Users\<你的用户名>\.gradle\caches\modules-2\files-2.1\com.android.tools.lint - Mac/Linux路径:
~/.gradle/caches/modules-2/files-2.1/com.android.tools.lint
- Windows路径:
- 同步构建时加上强制刷新依赖参数,执行命令:
./gradlew clean assembleRelease --refresh-dependencies
为什么之前的参考方案没效果
- 早期同主题StackOverflow问题的报错场景是Android Studio 3.x时代,当时Google Maven仓库的索引不全、jcenter还是主力公共仓库,当时给出的方案是“将google()仓库放到jcenter()后面”,这个逻辑放到现在完全反了:jcenter已经停服,Google仓库才是Android相关组件的官方分发源,把它放在最前面才能保证依赖正常拉取。
- 早期问题对应的lint-gradle版本是26.1.x区间,和当前遇到的27.0.2版本不属于同一适配版本带,照搬配置自然无法匹配当前的依赖查找规则。
内容的提问来源于stack exchange,提问作者Parisa Chamani
相关产品推荐
相关产品推荐

