You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS执行flutter doctor --android-licenses遇UnsupportedClassVersionError求助

解决macOS下flutter doctor --android-licenses类版本兼容错误

问题原因

错误核心是Java类版本不兼容:SdkManagerCli工具由Java17(类文件版本61.0)编译,但当前运行它的Java环境仅支持到Java11(类文件版本55.0)——即便你安装了Java21,大概率是环境变量配置错误导致系统调用了旧版本Java;或是Android SDK命令行工具版本过旧,与高版本Java不兼容。

解决步骤

1. 验证并修复Java环境变量

  • 打开终端,执行命令确认当前Java版本:
    java -version
    
    若输出不是openjdk version "21.0.2",说明JAVA_HOME配置错误。
  • Java21的默认安装路径通常为:
    /Library/Java/JavaVirtualMachines/openjdk-21.jdk/Contents/Home
    
  • 编辑shell配置文件(zsh用户编辑~/.zshrc,bash用户编辑~/.bash_profile):
    open -e ~/.zshrc
    
  • 在文件末尾添加以下内容(替换为你的Java21实际路径):
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-21.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 保存文件后,执行命令使配置生效:
    source ~/.zshrc
    
  • 再次执行java -version,确认版本为21.0.2。

2. 更新Android SDK命令行工具

  • 若使用Android Studio:
    打开Android Studio,进入Settings(或Preferences)→ Appearance & Behavior → System Settings → Android SDK → SDK Tools,勾选Android SDK Command-line Tools (latest),点击Apply完成更新。
  • 若未安装Android Studio,直接用终端执行:
    /Users/username/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --update
    
    注意将username替换为你的实际系统用户名。

3. 重新运行许可命令

在终端执行:

flutter doctor --android-licenses

按提示输入y接受所有Android SDK许可即可。

备选方案:降级到Java17(若Java21仍有兼容问题)

如果上述步骤无效,可尝试降级到Java17(Android SDK工具对Java17的兼容性更稳定):

  • 安装openjdk-17,设置JAVA_HOME指向Java17的安装路径,重复步骤1的配置。
  • 之后重新执行flutter doctor --android-licenses。

内容的提问来源于stack exchange,提问作者dinomim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:27:13