Flutter执行gradlew signingreport需Java11,无版本设置项怎么办
问题根因
执行../gradlew signingreport抛出的Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8报错,是因为当前项目使用的Android Gradle插件版本最低运行要求为JDK 11,执行命令时调用的默认Java环境为1.8版本;老教程里的JDK配置路径在新版Android Studio中已经调整,所以找不到对应入口。
分步解决方法
- 配置Android Studio内的Gradle JDK
新版Android Studio(Arctic Fox及更新版本)的JDK配置入口已迁移,打开设置面板:Windows系统走File > Settings路径,Mac系统走Android Studio > Settings路径,依次展开Build, Execution, Deployment > Build Tools > Gradle目录,在右侧面板最下方找到Gradle JDK下拉选择框,直接选择Android Studio自带的JDK 11(选项名一般带jbr-11标识,无需额外单独下载JDK安装包),点击Apply保存配置即可。

- 修正命令行环境的Java版本
如果改完AS配置后终端执行命令还是报错,是因为系统终端默认读取的JAVA_HOME环境变量还指向旧的Java 1.8路径,需要手动修改:- Windows系统:打开系统环境变量编辑面板,找到
JAVA_HOME变量,将值修改为Android Studio自带JDK的路径,默认路径为C:\Program Files\Android\Android Studio\jbr,修改完成后保存,完全关闭当前终端后重新打开生效 - Mac系统:如果使用zsh终端,执行命令
echo 'export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"' >> ~/.zshrc,再执行source ~/.zshrc让配置立即生效;如果使用bash终端,将上述命令里的.zshrc替换为.bash_profile即可
- Windows系统:打开系统环境变量编辑面板,找到
- 验证配置生效
进入项目的android目录,执行./gradlew -v,查看输出内容里的JVM版本信息,确认显示为11版本后,再执行./gradlew signingreport命令即可正常运行。
注意:修改环境变量后必须完全退出重启终端,否则终端会继续加载旧的环境变量配置,导致修改不生效。
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

