MacOS执行flutter doctor --android-licenses遇UnsupportedClassVersionError求助
解决Flutter的Android许可证验证Java版本不兼容问题
你的问题根源是安装的Java版本不匹配:从java.com下载的是Java 8(对应class文件版本52.0),但当前Android工具链需要Java 11(对应class文件版本55.0),因此触发了版本不兼容错误。
以下是具体解决步骤:
- 卸载从java.com安装的Java版本:
打开终端,执行以下命令删除相关文件:sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane sudo rm -rf ~/Library/Application\ Support/Oracle/Java - 配置使用Android Studio自带的JDK:
Android Studio Electric Eel自带符合要求的JDK,只需将其路径添加到环境变量:- 打开终端,编辑对应shell配置文件(zsh用户编辑
~/.zshrc,bash用户编辑~/.bash_profile):open -e ~/.zshrc - 在文件末尾添加以下内容(默认安装路径,若你的Android Studio位置不同请自行调整):
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" export PATH="$JAVA_HOME/bin:$PATH" - 保存文件后执行命令使配置生效:
source ~/.zshrc
- 打开终端,编辑对应shell配置文件(zsh用户编辑
- 验证Java版本:
终端执行java -version,确认输出为Java 11或更高版本。 - 重新运行许可证验证:
执行flutter doctor --android-licenses,按提示输入y接受所有许可证即可。
也可以选择单独安装Oracle JDK 11或OpenJDK 11,再将JAVA_HOME指向该版本,但使用Android Studio自带的JDK无需额外维护版本,更为省心。
内容的提问来源于stack exchange,提问作者Pasdian
相关产品推荐
相关产品推荐

