Flutter构建应用提示Gradle需Java11+ 如何升级OpenJDK版本
问题根因
系统全局安装的JDK 17已满足Gradle构建的版本要求,但Flutter构建时默认读取C:\Android\openjdk路径下内置的AdoptOpenJDK 1.8版本,版本低于Gradle要求的Java 11最低阈值,因此触发构建报错。
解决步骤
- 确认高版本JDK本地路径
本地已经安装了Java 17,默认安装路径一般为C:\Program Files\Java\jdk-17,可以先在终端执行where java确认全局Java的实际安装路径,记录JDK的根目录(即包含bin、jre等文件夹的上层目录,不要选到bin子目录)。 - 全局配置Flutter使用的JDK路径
打开终端执行如下命令,将命令中的路径替换为你自己的高版本JDK根目录:
注意:填写路径时要选JDK根目录,不要选到bin子目录,路径包含空格时必须用双引号包裹flutter config --jdk-dir "C:\Program Files\Java\jdk-17" - 校验配置生效
完全关闭当前打开的所有终端、VS Code窗口,重新打开终端执行flutter doctor -v,查看Java相关输出:- Java binary路径指向你刚配置的高版本JDK下的
bin\java - Java版本显示为11及以上,即代表配置生效
- Java binary路径指向你刚配置的高版本JDK下的
- 项目级单独配置(可选)
如果不想修改全局Flutter配置,可以单独给当前项目指定JDK路径:打开项目下的android/gradle.properties文件,新增一行配置:
注意:Windows系统下填写路径时,反斜杠需要双写做转义org.gradle.java.home=C:\\Program Files\\Java\\jdk-17
构建验证
配置完成后,在项目根目录执行flutter clean清理旧构建缓存,再重新执行构建即可,不会再触发Java版本不匹配的报错。
内容的提问来源于stack exchange,提问作者suhas_rkms
相关产品推荐
相关产品推荐

