Gradle构建成功但Android Studio无法解析依赖求助(AS3.1+Gradle4.4)
我之前也碰到过完全一样的状况——Gradle构建明明顺利完成,可编辑器里的外部类全飘红,Ctrl+点击也跳不到源码,这种编辑器和构建引擎不同步的问题在老版本AS组合里真的挺常见的。试试下面这些方法,按顺序来,大概率能搞定:
同步项目+清理缓存
这是最常用的修复手段,先点工具栏上的Sync Project with Gradle Files(那个大象图标),然后去File > Invalidate Caches / Restart,选择Invalidate and Restart。AS重启后会重新生成缓存,很多解析不同步的问题都能靠这个解决。检查依赖与仓库配置
先确认Module级build.gradle里的依赖没有拼写错误——比如groupId、artifactId或者版本号写错了都会导致编辑器识别失败。另外还要检查Project级build.gradle里的仓库配置是否正确,比如:repositories { google() jcenter() // 老版本AS常用jcenter,确保仓库能正常访问 // 有私有仓库的话也要在这里配置好 }手动重新添加依赖
有时候Gradle构建成功了,但编辑器没拉到依赖文件。可以打开File > Project Structure > Modules,选中你的模块切换到Dependencies标签页,把飘红的依赖先移除,再重新添加(比如从Maven仓库搜索添加),之后再同步项目。检查Gradle配置是否正确
去File > Settings > Build, Execution, Deployment > Build Tools > Gradle,确认Use Gradle from选项选的是gradle-wrapper.properties里指定的4.4版本,而不是本地其他Gradle版本。另外如果Offline work被勾选了记得取消,离线模式会导致编辑器无法获取依赖的元信息。手动清理构建目录
删掉项目根目录下的.gradle文件夹和模块里的build文件夹,然后重新点击同步按钮,让Gradle重新生成所有构建文件,有时候残留的旧文件会干扰编辑器解析。调整插件/Gradle版本(终极方案)
老版本AS和Gradle的兼容性可能有坑,AS 3.1对应的Gradle插件版本应该是com.android.tools.build:gradle:3.1.x,你可以在Project级build.gradle里把插件版本改成3.1系列的稳定版,比如:dependencies { classpath 'com.android.tools.build:gradle:3.1.4' }如果还是不行,试试把Gradle版本升到4.6(和AS 3.1兼容的更高版本),修改
gradle/wrapper/gradle-wrapper.properties里的distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
内容的提问来源于stack exchange,提问作者matdev

