VS Code中Flutter/Dart项目构建报错:Android Gradle插件要求Java 17,当前使用Java 11的解决方法
VS Code中Flutter/Dart项目构建报错:Android Gradle插件要求Java 17,当前使用Java 11的解决方法
我之前也碰到过这种“明明配置了高版本JDK,但Gradle死活认旧版本”的糟心事,结合你的报错日志和配置信息,我们一步步来搞定:
1. 给VS Code单独指定Gradle用的JDK
VS Code的Java相关插件可能会维护独立的JDK配置,和系统环境变量不联动,这是很多人踩坑的点:
- 打开VS Code,按
Ctrl+Shift+P唤起命令面板 - 输入
Java: Configure Java Runtime,找到Gradle JVM选项 - 在下拉列表里选中你安装的
C:\Program Files\Java\jdk-24\,保存后重启VS Code让配置生效
2. 检查系统环境变量的优先级
虽然你设置了JAVA_HOME,但系统Path变量的顺序可能让旧JDK抢了先:
- 打开命令提示符(cmd),输入
echo %JAVA_HOME%,确认输出是C:\Program Files\Java\jdk-24\ - 再输入
java -version,如果显示的是JDK11版本,说明Path里JDK11的bin目录排在JDK24前面 - 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的
Path里,把C:\Program Files\Java\jdk-24\bin移到最顶部,保存后重启命令提示符再验证
3. 确认gradle.properties的配置有效性
你的gradle.properties配置格式看起来是对的,但再仔细核对细节:
org.gradle.java.home=C:/Program Files/Java/jdk-24/ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true
- 确保路径用正斜杠
/或双反斜杠\\,不要用单反斜杠 - 检查有没有拼写错误,比如JDK路径是否完全匹配实际安装目录
4. 先解决核心问题,再处理build.gradle.kts的报错
你看到的第16行project.evaluationDependsOn(":app")报错,本质是Java版本不匹配导致项目评估流程失败。等Java版本配置正确后,这个报错大概率会自动消失。如果还是存在,可以暂时注释掉这一行,先让项目构建成功,再慢慢排查项目依赖顺序的问题。
5. 验证Gradle的JDK使用情况
在项目根目录打开命令提示符,运行:
gradlew --version
查看输出里的JVM:字段,确认显示的是JDK24的版本。如果是的话,说明Gradle已经正确加载了指定的JDK,再重新构建Flutter项目就应该没问题了。
内容来源于stack exchange




