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

执行flutter doctor --android-licenses报错,更新Java及重装SDK仍未解决

Flutter执行flutter doctor --android-licenses报错的解决方法

问题情况

运行flutter doctor --android-licenses时弹出如下错误:

Erreur : LinkageError lors du chargement de la classe principale com.android.sdklib.tool.sdkmanager.SdkManagerCli
        java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
Android sdkmanager tool was found, but failed to run
(C:\Users\PC\AppData\Local\Android\Sdk\cmdline-tools\latest\bin\sdkmanager.bat): "exited code 1".
Try re-installing or updating your Android SDK,
visit detailed instructions for Android setup.

已经试过更新Java、重装Android SDK,问题还是没解决,当前环境变量截图如下:
环境变量截图1
环境变量截图2

可行解决步骤

错误里的UnsupportedClassVersionError是核心问题——SdkManagerCli是用Java 17(对应class文件版本61.0)编译的,但当前系统调用的Java版本是11(最高只能识别55.0版本),版本不匹配导致报错。按下面的方法逐一排查:

  • 先确认系统默认Java版本:打开cmd输入java -version,查看输出是否为Java 17及以上。如果不是,说明你更新的Java未设置为系统默认版本。
  • 调整环境变量顺序:在系统环境变量的Path列表里,把Java 17安装目录下的bin文件夹移到最顶部,确保系统优先调用高版本Java。
  • 给sdkmanager指定Java版本:
    1. 找到路径C:\Users\PC\AppData\Local\Android\Sdk\cmdline-tools\latest\bin,打开sdkmanager.bat文件。
    2. 在文件最开头添加一行:set JAVA_HOME=你的Java17实际安装路径(例如set JAVA_HOME=C:\Program Files\Java\jdk-17.0.8)。
  • 降级cmdline-tools版本:如果不想升级Java,可以打开Android Studio的SDK管理器,在SDK工具里卸载当前的cmdline-tools,换成不需要Java17的旧版本(比如8.0版本)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 05:37:10