无法运行Flutter Doctor --android-licenses

时间:2020-06-08 13:29:37

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

我想在计算机上使用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

3 个答案:

答案 0 :(得分:4)

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

此错误与此类似:

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

答案 1 :(得分:1)

我面对了这个问题,并通过以下两个步骤解决了这个问题:

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

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

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

完成。

答案 2 :(得分:0)

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

<块引用>

颤动医生 --android-licenses