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

执行flutter doctor --android-licenses遇Java版本不兼容错误求解决

解决flutter doctor --android-licenses的Java版本不兼容问题

报错原因

这个错误本质是Android SDK工具(如sdkmanager)的编译版本(class file version 55.0对应JDK11)和当前环境实际运行的Java版本(class file version 52.0对应JDK8)不匹配。即使你安装了JDK11,大概率是系统环境变量没正确配置,或者Android SDK工具没有调用到正确的JDK版本。

修复步骤

  • 确认JDK11环境变量配置正确

    1. 终端执行java -version和javac -version,确保输出均为JDK11版本(例如openjdk version "11.0.18")。
    2. 检查JAVA_HOME变量:
      • Linux/macOS:执行echo $JAVA_HOME,输出需指向JDK11的安装目录(如/usr/lib/jvm/java-11-openjdk-amd64)。
      • Windows:执行echo %JAVA_HOME%,输出需指向JDK11的安装路径(如C:\Program Files\Java\jdk-11.0.18)。
    3. 若配置错误,手动更新环境变量:
      • Linux/macOS:在~/.bashrc或~/.zshrc中添加:
        export JAVA_HOME=/path/to/jdk11
        export PATH=$JAVA_HOME/bin:$PATH
        
        执行source ~/.bashrc(或对应配置文件)生效。
      • Windows:在「系统属性-高级-环境变量」中设置JAVA_HOME为JDK11路径,将%JAVA_HOME%\bin移至Path变量列表最顶端。
  • 强制指定JDK11运行sdkmanager
    直接用JDK11的Java可执行文件运行许可证命令,绕开系统默认Java版本:

    # 替换为你的JDK11路径和Android SDK路径
    /path/to/jdk11/bin/java -jar /path/to/android/sdk/tools/bin/sdkmanager --licenses
    

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

  • 升级Android SDK命令行工具
    打开Android Studio,进入SDK Manager → SDK Tools,勾选Android SDK Command-line Tools (latest)并安装。新版工具对JDK11的兼容性更强,能彻底解决版本匹配问题。

  • 验证修复效果
    重新执行flutter doctor --android-licenses,完成许可证接受后,运行flutter doctor确认Android相关项无报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:10:26