Flutter Run报错:JAVA_HOME指向无效目录,切换JDK8后问题依旧
解决Flutter运行时JAVA_HOME指向旧JDK的问题
1. 彻底重启终端/开发工具
修改环境变量后,正在运行的终端或IDE不会自动加载新配置,必须完全关闭再重新打开。不管是用命令提示符、PowerShell,还是VS Code、Android Studio,都要彻底退出后重启,再确认环境变量是否生效。
2. 核对系统与用户级环境变量
打开Windows环境变量设置(右键「此电脑」→「属性」→「高级系统设置」→「环境变量」):
- 同时检查用户变量和系统变量里的
JAVA_HOME,确保两者都指向C:\Program Files\Java\jdk-1.8,删掉任何指向JDK21的条目。 - 检查
Path变量,把JDK8的bin目录(C:\Program Files\Java\jdk-1.8\bin)移到最前面,或者直接删除JDK21相关的Path条目。
3. 清理Flutter和Gradle缓存
执行命令清空项目缓存:
flutter clean
- 删除项目根目录下的
.gradle文件夹(删除后后续会自动重新生成) - 手动清除Gradle缓存,路径一般是
C:\Users\[你的用户名]\.gradle\caches,直接删除该目录下的所有内容即可。
4. 检查Android Studio的JDK配置(如果用AS开发)
打开Android Studio:
- 进入
File > Project Structure > SDK Location,在「JDK location」选择JDK8的路径C:\Program Files\Java\jdk-1.8,保存设置。 - 再进入
File > Settings > Build, Execution, Deployment > Build Tools > Gradle,确认Gradle使用的JDK是刚才设置的JDK8。
5. 验证全局环境变量是否真的生效
打开新的终端窗口,执行以下命令:
echo %JAVA_HOME% where java where javac
确保输出的JAVA_HOME是JDK8的路径,where java和where javac返回的第一个结果是JDK8的bin目录下的可执行文件,而非JDK21的。
6. 检查项目的Gradle配置文件
打开项目根目录下的android/gradle.properties文件,查看是否有org.gradle.java.home的配置项,如果有,修改为JDK8的路径(注意用双反斜杠转义):
org.gradle.java.home=C:\\Program Files\\Java\\jdk-1.8
内容的提问来源于stack exchange,提问作者Mohamed Khaled
相关产品推荐
相关产品推荐

