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:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 5 more
在运行flutter doctor -android-licenses时,我得到上述错误。有人知道为什么会这样吗,我该怎么补救吗?我已经在颤振控制台上运行了
安装Android SDK命令行工具从Android SDK管理器为我做了这项工作。
打开工具> SDK管理器
从左边选择,外观和行为>系统设置> Android SDK
从顶部菜单中选择SDK Tools
检查Android SDK命令行工具并单击“应用”。
替代步骤#1:WINDOWS: File > Settings (Ctrl+Alt+S) / MAC: Android Studio > Preferences
此修复适用于Windows、Linux和Mac OS X。
如果尽管执行了上述步骤,但仍然遇到问题,您可以尝试将系统升级到JDK 8。升级到JDK 8的官方文档可以在这里找到。
我是Mac用户,我解决了这个问题。
这个答案也可以帮助Windows用户和Linux用户从用户反馈中解决问题。
首先,这是我遇到的问题
$ flutter doctor -v
下面的命令不适合我的情况。
医生——机器人执照
解决这个问题的方法就是安装
Android SDK命令行工具。以及如何?
你只需要按以下两个步骤来做。
安装:Android SDK命令行工具
步骤1。开放SDK管理器
顶部菜单->工具-> SDK管理器
步骤2。安装命令行工具
展现外表和行为
展开系统设置
点击Android SDK
单击“SDK工具”页签
检查Android SDK命令行工具(最新)
单击“应用”按钮。
然后单击OK按钮完成安装。
继续签署android许可。
Android Studio完成安装后,您可以执行以下操作。
医生——机器人执照
在多次同意后,所有的android许可证都已签署。
再让医生检查一下
$ flutter doctor -v
你们可以看到
接受所有Android许可。
恭喜你,你已经完成了这个任务!
安装Android SDK命令行工具从Android SDK管理器为我做了这项工作。
打开工具> SDK管理器
从左边选择,外观和行为>系统设置> Android SDK
从顶部菜单中选择SDK Tools
检查Android SDK命令行工具并单击“应用”。
替代步骤#1:WINDOWS: File > Settings (Ctrl+Alt+S) / MAC: Android Studio > Preferences
此修复适用于Windows、Linux和Mac OS X。
如果尽管执行了上述步骤,但仍然遇到问题,您可以尝试将系统升级到JDK 8。升级到JDK 8的官方文档可以在这里找到。