Flutter Doctor --android-licenses:主线程中的异常 "main" java.lang.NoClassDefFoundError

147

我正在尝试安装Flutter,但它不允许我接受Android许可。 我收到以下错误:

PS C:\Users\XXXX> flutter doctor --android-licenses
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 5 more

我已经卸载了目前的Java版本,并从这里进行了Java 8的清洁安装。

flutter doctor返回结果如下:

[✓] Flutter (Channel stable, 1.22.3, on Microsoft Windows [Version 10.0.18363.1139], locale en-IE)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[!] Android Studio (version 4.1.0)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.50.1)
[!] Connected device
    ! No devices available
3个回答

397

我通过从Android SDK Manager安装 Android SDK命令行工具来解决了这个问题。

  1. 打开Android Studio
  2. 选择“工具”>“SDK Manager”
  3. 在左侧选择“外观和行为”>“系统设置”>“Android SDK”
  4. 从顶部菜单中选择“SDK工具”
  5. 勾选Android SDK命令行工具并点击“应用”。

输入图像描述


1
谢谢,这个在Big Sur上解决了我的问题。 - samiq
3
也在Windows 10上修复了它。 - stib
5
对于没有安装Android Studio的命令行工具,请在命令行中调用sdkmanager“cmdline-tools;latest” - BingLi224
谢谢。它帮助我解决了在Catalina中的问题。 - Imam T
1
感谢Ubuntu的工作。 - Aghiad Alzein

5
首先检查您的JAVA_HOME路径是否在“系统变量”下,应该像这样-->
C:\Program Files\Java\jdk-15.0.2 (没有分号和\bin)
并将其添加到路径(在“系统变量”中)--> %JAVA_HOME%\bin
如果你仍然遇到任何错误,请尝试在Android Studio中执行以下步骤--> 设置(外观和行为)-> Android SDK -> 检查并下载Android SDK命令行工具。
重新启动终端,然后再次尝试运行 flutter doctor --android-licenses
--> 这应该解决问题。

-8

我遇到了同样的问题。

只需安装Android Studio,问题就解决了。


2
这不是真的。问题是由于缺少CL工具而引起的,正如所接受的答案所建议的那样。Android Studio似乎默认情况下不安装它们。 - B. Colin Tim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接