Android Studio异常:升级至3.1.2后符号无法解析但项目可正常运行
解决Android Studio 3.1.2 "Cannot resolve symbol" 标红但项目可运行的问题
我之前也碰到过这个糟心的问题!升级到Android Studio 3.1.2后,明明所有导入语句书写正确,代码里的类名却一直标红显示Cannot resolve symbol,但项目居然能正常运行。试过Invalidate Caches/Restart、Clean Project、Rebuild Project甚至重启电脑都没用对吧?试试下面这些针对性的解决方案:
检查SDK组件完整性
打开File > Settings > Appearance & Behavior > System Settings > Android SDK,切换到SDK Tools标签页:- 确保
Android SDK Build-Tools中对应3.1.2版本的组件已安装 - 确认
Android Support Repository和Google Repository已更新至最新版本
若有缺失,点击Apply完成安装后重启Android Studio
- 确保
同步Gradle并核对版本配置
- 点击AS右上角的「Sync Project with Gradle Files」按钮(大象图标),强制重新同步依赖
- 打开项目根目录的
build.gradle文件,检查classpath 'com.android.tools.build:gradle'的版本是否为3.1.2(需与AS版本匹配) - 核对模块目录下
build.gradle中的compileSdkVersion、buildToolsVersion是否与已安装的SDK组件版本一致
手动清理缓存目录
有时候自动清理缓存不彻底,试试手动删除这些目录:- 关闭Android Studio
- 删除项目根目录下的
.gradle文件夹,以及各模块目录下的build文件夹 - (可选)删除AS全局缓存目录:Windows路径为
C:\Users\[你的用户名]\.AndroidStudio3.1\system\caches,Mac路径为~/Library/Caches/AndroidStudio3.1 - 重新打开AS,等待它重新生成缓存与构建文件
排查模块依赖引用
- 如果引用了本地模块,确认该模块的
build.gradle配置无语法错误,且已正确添加到项目依赖中 - 若使用第三方库依赖,检查
implementation/api声明的库是否已成功下载到本地Maven仓库
- 如果引用了本地模块,确认该模块的
这些方法我当时亲测有效,你可以逐个尝试,应该能解决标红的问题!
内容的提问来源于stack exchange,提问作者Parth Anjaria
相关产品推荐
相关产品推荐

