Android Studio误将已使用导入标记为未用,如何解决?
我之前也碰到过一模一样的糟心事——同一版本的AS在另一台电脑上跑项目,所有导入都灰了,相关代码全标红,但项目跑起来一点问题都没有,试了删文件、清缓存也没用。后来折腾出几个亲测有效的方案,你可以挨个试试:
检查SDK与依赖的同步完整性
打开File > Project Structure,先确认SDK Location里的Android SDK路径正确,且项目所需的SDK版本(包括Build Tools、Platform Tools)都已安装。再切换到Modules下的Dependencies标签,逐个检查所有依赖项,尤其是本地模块或自定义库,新电脑上可能因为路径差异导致IDE识别不到,手动确认它们的引用路径是否正确。用命令行强制刷新依赖与构建
有时候IDE的同步按钮不够彻底,你可以打开项目根目录的终端,执行:# Mac/Linux ./gradlew clean build --refresh-dependencies # Windows gradlew clean build --refresh-dependencies这个命令会彻底清理旧的构建缓存、重新拉取所有依赖并执行构建,完成后重启AS,很多索引异常的问题都能解决。
重置IDE的代码索引
代码索引卡住是常见原因。先看看AS右下角有没有“Indexing...”的进度提示,如果一直卡着,就手动删除.idea文件夹下的index子目录(别删整个.idea),然后重启IDE,让它重新生成索引。删除并重新生成模块.iml文件
不同电脑的环境路径可能导致模块的.iml文件失效。找到每个模块根目录下的[模块名].iml文件,全部删除,然后点击AS工具栏的Sync Project with Gradle Files按钮,IDE会自动生成适配新环境的.iml文件。确认Gradle与Java版本匹配
打开File > Project Structure > Project,检查Gradle Version和Java SDK Version是否和你原来电脑上的配置完全一致。比如原来用Java 11搭配Gradle 7.0+,新电脑如果用Java 8就会出现识别异常,必须保证版本对应。
如果以上方法都试过还是没解决,那只能试试最后一招:备份好AS的设置(File > Export Settings),卸载重装Android Studio,再导入设置和项目——虽然麻烦,但大概率能根治问题。
内容的提问来源于stack exchange,提问作者tomtom

