Flutter构建Android应用时Gradle报错:Android Gradle插件要求Java 17
Flutter构建Android应用时Gradle报错:Android Gradle插件要求Java 17
看起来你遇到的问题根源特别明确——Android Gradle插件(AGP)现在要求Java 17才能运行,但你的开发环境里还在使用Java 11,这直接导致了构建失败。你之前试的flutter clean、flutter doctor这些操作对版本不匹配的问题起不到作用,我们直接针对JDK版本来解决:
你可以从以下三个方案里选一个最适合你的:
1. 修改Android Studio的JDK设置(最直观,仅针对当前IDE项目)
打开你的Android Studio,按这个路径操作:File > Project Structure > SDK Location
在JDK location选项里,选择Java 17的安装路径:
- 如果你的Android Studio是2022.1(Electric Eel)及以上版本,它自带了Java 17(路径通常是
C:\Program Files\Android\Android Studio\jbr,注意不是你现在用的jre目录) - 如果你的Studio版本较旧,建议先升级到最新版,或者单独下载安装OpenJDK 17,再指定它的路径
设置完成后重启Android Studio,再尝试构建项目。
2. 修改系统的JAVA_HOME环境变量(全局生效,所有项目都会用这个JDK)
- 先找到Java 17的安装目录(比如Android Studio自带的
C:\Program Files\Android\Android Studio\jbr,或者你自己安装的OpenJDK路径) - 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在系统变量区域:
- 找到
JAVA_HOME变量,把它的值改成Java 17的安装路径;如果没有这个变量,就新建一个 - 编辑
Path变量,把%JAVA_HOME%\bin移到列表最顶部,确保系统优先使用这个JDK版本
- 找到
- 重启你的命令行工具和Android Studio,输入
java -version确认输出的版本是17,再尝试构建。
3. 修改项目的gradle.properties文件(仅当前项目生效,不影响其他项目)
- 找到你Flutter项目里的
gradle.properties文件(一般在项目根目录,或者android子目录下) - 在文件末尾添加或修改这一行(路径换成你的Java 17实际路径,注意用斜杠
/或者双反斜杠\\):org.gradle.java.home=C:/Program Files/Android/Android Studio/jbr - 保存后直接尝试构建项目即可。
补充说明:
你的build.gradle代码本身没有问题,不用修改里面的compileOptions配置——那是用来设置项目代码编译时使用的Java版本,和Android Gradle插件运行所需要的JDK版本是两回事,别搞混了哦。
只要把JDK版本切换到17,再重新运行flutter build apk或者在IDE里点击构建,问题应该就能解决了!
备注:内容来源于stack exchange,提问作者devilonline
相关产品推荐
相关产品推荐

