Android集成Dagger 2.13编译报错找不到dagger-2.13-2.13.jar如何解决
问题原因
- 核心问题是Dagger注解处理器的依赖坐标书写错误:kapt配置项里多写了一段冗余的
:dagger,导致Gradle按照Maven坐标规则解析时错误拼接版本字段,最终去请求根本不存在的dagger-2.13-2.13.jar文件。 - 次要隐患是项目仍在使用已经停止运营的jcenter作为依赖仓库,即使修正坐标,后续也大概率遇到其他依赖无法拉取的问题。
修复方法
- 修正错误的依赖声明
打开模块级build.gradle文件,找到dependencies块中错误的Dagger处理器配置:
// 错误写法,中间多了无效的:dagger段 kapt "com.google.dagger:dagger:dagger-android-processor:$daggerVersion"
将其替换为正确的坐标:
kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
- 替换失效的依赖源
打开项目根目录下的build.gradle文件,找到allprojects下的repositories配置块,移除jcenter,替换为官方维护的仓库:
allprojects { repositories { google() mavenCentral() } }
- 清理缓存重新编译
- 可以直接在Android Studio中执行
File -> Invalidate Caches...,勾选清除项目缓存后重启IDE - 也可以在项目根目录执行命令行指令清理构建产物:
./gradlew clean,之后重新同步依赖编译即可
额外提示:当前配置同时混用了AndroidX组件和旧版
com.android.support支持库,后续编译可能出现依赖冲突,建议后续逐步将旧版支持库迁移到对应AndroidX版本,避免不必要的兼容问题。
内容的提问来源于stack exchange,提问作者GodFather
相关产品推荐
相关产品推荐

