Android RoomDatabase依赖解析失败:无法获取room:compiler:1.0.0求助
解决Android Room依赖解析失败问题
结合你的错误信息和配置情况,我整理了几个针对性的解决方案,帮你搞定这个依赖解析问题:
1. 补全模块级仓库配置
你目前只在项目根目录的buildscript块里配置了仓库,但模块级(app模块)的依赖下载需要单独声明仓库。打开app/build.gradle文件,添加以下配置:
repositories { google() jcenter() }
buildscript的仓库是给Gradle插件自身用的,你的Room依赖属于模块业务依赖,必须在模块自己的repositories块里配置仓库才能正常拉取资源。
2. 升级Room到兼容的稳定版本
Room 1.0.0是早期版本,可能存在仓库资源移除或与Gradle插件兼容性不佳的问题。结合你使用的Gradle插件3.0.1,建议升级到Room 1.1.1(这个版本和Gradle 3.x系列插件适配性更好),修改依赖配置为:
implementation "android.arch.persistence.room:runtime:1.1.1" annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
3. 强制刷新依赖并清理缓存
即使关闭了离线模式,本地残留的缓存也可能导致依赖拉取异常,执行以下操作彻底清理:
- 在Android Studio中点击
File -> Invalidate Caches...,选择Invalidate and Restart重启IDE - 或者在终端执行Gradle命令强制刷新:
./gradlew clean build --refresh-dependencies
4. 适配网络环境(针对国内用户)
如果你的网络无法正常访问Google或JCenter仓库,可以替换为国内镜像仓库,在项目根目录的build.gradle和app模块的build.gradle中,将repositories替换为:
repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } }
按照以上步骤操作后,应该就能解决Room compiler依赖解析失败的问题了。
内容的提问来源于stack exchange,提问作者Denis Makovsky
相关产品推荐
相关产品推荐

