我想在计算机上使用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
答案 0 :(得分:4)
尝试使用Java 1.8而不是13.0.1,这可能会解决您的问题。
此错误与此类似:
Flutter A newer version of the Android SDK is required. To update, run: error?
答案 1 :(得分:1)
我面对了这个问题,并通过以下两个步骤解决了这个问题:
我已经卸载了Java JDK 10版安装并安装了JDK 8版,并设置了JAVA_HOME和PATH环境变量。
我运行flutter doctor --android-licenses
。
例外消失了,我接受了所有许可。
完成。
答案 2 :(得分:0)
在 Linux 上遇到了同样的问题。那是因为他无法访问文件。
解决了
颤动医生 --android-licenses