升级JDK17至21后Flutter Doctor仍识别旧JDK,求解决方案
解决Flutter Doctor指向旧JDK路径的问题
1. 修复系统环境变量
- 打开系统环境变量设置:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 找到
JAVA_HOME变量,修改其值为JDK21的正确路径(例如C:\Program Files\Android\Android Studio\jbr或你自行安装的JDK21目录),路径不要包含引号 - 检查
Path变量,移除指向旧JDK17的bin目录条目,添加JDK21的bin目录路径
- 找到
- 保存设置后,重启所有打开的终端和IDE,避免缓存影响
2. 配置Android Studio的JDK路径
- 打开Android Studio,依次进入「File」→「Project Structure」→「SDK Location」
- 在「JDK location」选项中选择正确的JDK21路径,确认路径无多余引号,点击「Apply」保存
3. 清理Flutter缓存
在终端执行以下命令:
flutter clean flutter pub get flutter doctor --android-licenses
完成后重新运行flutter doctor -v检查路径是否更新
4. 检查项目gradle配置
- 打开项目根目录下的
android/gradle.properties文件 - 若存在
org.gradle.java.home配置项,修改其值为JDK21的正确路径,确保无引号
5. 重点修正路径引号问题
从你的flutter doctor输出可见,Java路径存在多余的"符号,这是配置错误导致的。所有Java相关的环境变量和配置路径都不能带引号,Windows系统会自动处理含空格的路径,无需手动添加引号
内容的提问来源于stack exchange,提问作者Usama Hafeez Abbasi
相关产品推荐
相关产品推荐

