无法运行颤振医生--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”)