换电脑后Android项目Gradle构建成功但依赖导入无法解析
解决Gradle构建成功但依赖导入无法解析的问题
嘿,我之前也碰到过一模一样的情况!项目跑起来完全没问题,但IDE里所有依赖都飘红,看着特别闹心。其实这根本不是依赖配置的问题——毕竟Gradle都能构建成功、应用也能正常运行,说明依赖本身是对的,问题出在Android Studio的缓存或者索引上。给你几个亲测有效的解决办法:
先试试同步+清理缓存
第一步点右上角那个大象图标(Sync Project with Gradle Files)同步项目,很多时候同步完就好了。如果还是不行,就清理IDE缓存:- 顶部菜单栏点
File→Invalidate Caches... - 勾选
Invalidate and Restart,等IDE重启。这一步会清空本地的旧索引,重新扫描项目依赖,大部分情况下都能解决飘红问题。
- 顶部菜单栏点
确认仓库配置没问题
虽然你说依赖已经加在app级build.gradle里,但还是检查下根目录的build.gradle,确保仓库配置正确——毕竟新系统可能默认的仓库有变化:buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' // 对应你用的compileSdk 27,这个版本比较匹配 } } allprojects { repositories { google() mavenCentral() } }要是仓库没配置对,Gradle能下载依赖才怪,但你项目能运行,所以这步大概率没问题,但还是确认下更稳妥。
彻底重置IDE配置文件
如果上面的方法都不管用,那就狠一点:- 关掉Android Studio,删掉项目根目录下的
.idea文件夹和所有.iml文件 - 重新打开AS,选择
Open an existing project导入你的项目,让IDE重新生成所有配置文件。这相当于给IDE做了一次“初始化”,几乎能解决所有索引相关的奇葩问题。
- 关掉Android Studio,删掉项目根目录下的
检查Gradle版本兼容性
你的compileSdk是27,对应的Gradle插件版本最好在3.0.0到3.3.0之间,Gradle wrapper版本对应4.1到4.9。你可以打开gradle/wrapper/gradle-wrapper.properties看看:distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip版本不兼容有时候也会导致IDE识别异常,但因为项目能运行,所以这个可能性相对小一点,但也可以排查下。
总之,这种情况不用慌,核心就是IDE的缓存/索引和Gradle的实际状态不一致,按上面的步骤来,肯定能解决!
内容的提问来源于stack exchange,提问作者Khemraj Sharma
相关产品推荐
相关产品推荐

