Android Studio导入异常:补全包名而非添加import语句求解决
我之前也碰到过一模一样的情况,输入Scanner直接补成全限定类名,自动导入完全不管用,折腾了好一阵才搞定,给你几个实用的排查步骤:
先确认自动导入的核心设置是否开启
打开Android Studio设置(快捷键Ctrl+Alt+S/Cmd+,),找到Editor > General > Auto Import:- 一定要勾选
Add unambiguous imports on the fly(自动添加无歧义类的导入) - 同时勾选
Optimize imports on the fly (for current project)(自动优化当前项目的导入语句)
切换到Java标签页,确保Show import popup是勾选状态——这个选项决定了输入类名时是否弹出导入选择框,而不是直接补全全限定类名。
- 一定要勾选
检查自动导入的快捷键是否正常
你说自动导入全部的快捷键没用,先查下快捷键是不是被占用了:
打开设置里的Keymap,搜索Optimize Imports,确认默认快捷键Ctrl+Alt+O(Windows/Linux)或Cmd+Opt+O(Mac)有没有被其他功能抢走。如果不对,右键选Add Keyboard Shortcut重新设置就行。
另外,单个类的手动导入可以试试:把光标放在java.util.Scanner上,按Alt+Enter(Windows/Linux)或Option+Enter(Mac),选择Import class,看能不能正常把导入语句加到文件开头。清理IDE缓存试试
有时候Android Studio的缓存抽风会导致各种奇怪的bug,这招屡试不爽:
点击File > Invalidate Caches...,选择Invalidate and Restart,让IDE重启并重建缓存。放心,这个操作不会丢代码。注意类名的大小写问题
你提到补全成了java.util.scanner(小写结尾),Java是大小写敏感的,Scanner才是正确的类名。如果你输入的是小写的scanner,IDE可能只会匹配全限定名而不触发导入提示。试试输入大写开头的Scanner,看看会不会弹出导入选项。检查项目的SDK配置
确保你的项目关联了正确的SDK:
打开File > Project Structure > Modules,检查对应模块的SDK配置,Java的Scanner类属于Java SDK,确认你的项目SDK版本包含这个类(一般Android SDK自带的Java环境都有,不过还是确认下更稳妥)。
如果以上步骤都试过还是不行,可以新建一个空白测试项目,看看在新项目里能不能正常自动导入——要是新项目没问题,那大概率是你当前项目的配置文件出问题了,直接复制代码到新项目就行。
内容的提问来源于stack exchange,提问作者pascal0506

