【问题标题】:Cannot run flutter doctor --android-licenses无法运行颤振医生--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

【问题讨论】:

    标签: java android android-studio flutter android-sdk-manager


    【解决方案1】:

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

    这个错误和这个类似:

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

    【讨论】:

      【解决方案2】:

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

      1. 我在一些文章中读到必须安装 API 级别 29 Android 10.0 (Q) 所以我下载了它
      1. 我已经卸载了我的 Java JDK 版本 10 安装并安装了 JDK 版本 8 并设置了 JAVA_HOME 和 PATH 环境变量。

      2. 我运行flutter doctor --android-licenses

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

      完成。

      【讨论】:

        【解决方案3】:

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

        颤振医生--android-licenses

        【讨论】:

          猜你喜欢
          • 2021-08-19
          • 2021-01-26
          • 2019-07-03
          • 2021-08-10
          • 2021-08-12
          • 2021-11-07
          • 2021-07-27
          相关资源
          最近更新 更多