You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动