首页 > 解决方案 > Flutter Doctor,Android 许可证状态未知

问题描述

Flutter 医生说找不到我的 android 许可证状态。

[√] Flutter (Channel stable, 1.20.3, on Microsoft Windows [Version 10.0.19041.450], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit
      https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions.
[√] Android Studio (version 4.0)
[√] VS Code (version 1.48.2)
[!] Connected device
    ! No devices available

我确实尝试运行颤振医生 --android-licenses,但返回给我以下错误

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

我在这里想念什么?

标签: android-studioflutter

解决方案


保存 JAVA_HOME 环境变量的值,然后删除 JAVA_HOME 环境变量(如果存在)。

保存您的 jdk 路径的值。从 PATH 中删除您的 jdk。

进行这些更改后,颤振医生 --android-licenses 应该可以工作。

如果适用,请在路径中恢复 JAVA_HOME 环境变量和 jdk。

如果这不起作用,请卸载 Android Studio 和 XCode,下载最新版本并重新安装。

如果您无法解决问题,请查看此线程:https ://github.com/flutter/flutter/issues/28230


推荐阅读