Android Studio与Gradle更新后Realm库构建失败求助
解决Android Studio 3.1 + Gradle 3.1.0下Realm 5.0.0构建失败的问题
我之前升级Gradle版本时也碰到过一模一样的报错,大概率是Realm 5.0.0和Gradle 3.1.0的兼容性不匹配导致的,结合你已经尝试过的操作,给你几个针对性的解决方案:
方案1:升级Realm版本到兼容Gradle 3.1.x的版本
Realm 5.0.0发布时,Gradle 3.1.0的部分特性还没被适配,后续的Realm小版本已经修复了这个问题。你可以尝试把Realm升级到5.11.0(这个版本亲测和Gradle 3.1.0兼容):
- 修改项目根目录下的
build.gradle,更新Realm插件版本:
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' // 把原来的5.0.0改成5.11.0 classpath "io.realm:realm-gradle-plugin:5.11.0" } }
- 修改app模块下的
build.gradle,同步Realm库版本:
dependencies { // 同样升级到5.11.0 implementation 'io.realm:realm-android-library:5.11.0' }
- 执行
File -> Sync Project with Gradle Files,之后再尝试Rebuild项目。
方案2:彻底清理Gradle缓存
有时候缓存损坏会导致依赖解析异常,你已经尝试过Invalidate Cache,但可以再手动清理全局Gradle缓存:
- Windows系统:删除
C:\Users\<你的用户名>\.gradle\caches目录 - macOS/Linux系统:删除
~/.gradle/caches目录
删除后重新打开Android Studio,它会重新下载所有依赖,大概率能解决 artifact 跳过的问题。
方案3:检查Maven仓库配置
如果你的网络环境访问jcenter/google仓库不稳定,可能导致Realm依赖下载不完整。可以在根目录的build.gradle里添加国内镜像源,比如:
allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } google() jcenter() } }
添加后重新同步,确保依赖能正常下载。
额外提醒
如果以上方法都不行,可以尝试在终端执行./gradlew clean assembleDebug --info(Windows是gradlew clean assembleDebug --info),查看更详细的错误日志,找到最初导致依赖解析失败的根源,再针对性解决。
内容的提问来源于stack exchange,提问作者Skullper




