You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:09:59