无法运行颤振医生--android-licenses

Posted

技术标签:

【中文标题】无法运行颤振医生--android-licenses【英文标题】:Cannot run flutter doctor --android-licenses 【发布时间】:2020-09-27 11:41:41 【问题描述】:

我想在我的电脑上使用 Flutter,我使用的是 android Studio 和 Visual Studio Code。当我运行flutter doctor时,出现了这样的警告,

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

! Doctor found issues in 2 categories.

但是当我在那里运行flutter doctor --android-licenses 时会出现这样的错误,并且错误与我运行命令sdkmanager 的错误相同

C:\Users\Halim>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:521)
        ... 5 more

在这种情况下,我使用 jdk-13.0.1 并将其添加到路径环境中,目前我使用的是 Windows 10

对于环境变量我使用如下设置

ANDROID_HOME = C:\Users\Halim\AppData\Local\Android\Sdk
ANDROID_SDK_ROOT = %ANDROID_HOME%\tools
JAVA_HOME = C:\Program Files\Java\jdk-13.0.1

这是我的 Windows 10 上的路径

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
C:\Users\Halim\AppData\Local\Programs\Microsoft VS Code\bin
C:\Users\Halim\AppData\Roaming\npm
%ANDROID_HOME%\platform-tools
%ANDROID_SDK_ROOT%\bin
%ANDROID_HOME%\tools
C:\Program Files\nodejs
%JAVA_HOME%\bin
C:\xampp\php
C:\flutter\bin

【问题讨论】:

【参考方案1】:

尝试使用 java 1.8 而不是 13.0.1,这可能会解决您的问题。

这个错误和这个类似:

Flutter A newer version of the Android SDK is required. To update, run: error?

【讨论】:

【参考方案2】:

我遇到了这个问题并通过以下两个步骤解决了:

    我在一些文章中读到必须安装 API 级别 29 Android 10.0 (Q) 所以我下载了它

    我已经卸载了我的 Java JDK 版本 10 安装并安装了 JDK 版本 8 并设置了 JAVA_HOME 和 PATH 环境变量。

    我运行flutter doctor --android-licenses

    例外情况消失了,我接受了所有许可。

完成。

【讨论】:

【参考方案3】:

在 Linux 上遇到了同样的问题。那是因为他无法访问文件。 解决了

颤振医生--android-licenses

【讨论】:

以上是关于无法运行颤振医生--android-licenses的主要内容,如果未能解决你的问题,请参考以下文章

颤振医生 --android-licenses 显示错误消息

当我尝试运行颤振医生 --android-licenses 时出错

颤振医生 --android-licenses 错误:无法找到或加载主类 Studio

警告:无法加载文件 C:\Users\UserName\.android\repositories.cfg。 (没有工作这个命令“颤振医生--android-licenses”)

Android 许可证状态未知?但是当我尝试运行命令颤振医生 --android-licenses 它显示这个?

颤振医生 --android-licenses 错误,如何解决这个问题?