今天执行 flutter doctor -v 的时候发现一个问题,提示信息是

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/zhaopingfu/Library/Android/sdk
    • Platform android-S, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

然后根据提示信息执行 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:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 5 more

通过 java -version 查看了 java 版本是 1.8

java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

网上好多说是 jdk 版本的问题,但是我的 jdk 就是 1.8,尝试了 jdk 升级到 11 再回退到 1.8 还是不行,所以排除这种情况

最后通过查找各种资料找到了解决办法

  1. 打开 AndroidStudio 中的 SdkManager
  2. 下载最新版本的 Android SDK Command-lines Tools,如下图所示
    在这里插入图片描述
  3. 重新运行 flutter doctor --android-licenses,提示信息为
[=========                              ] 25% Fetch remote repository...
7 of 9 SDK package licenses not accepted. 100% Computing updates...
Review licenses that have not been accepted (y/N)?
  1. 运行 flutter doctor -v,提示信息为
• No issues found!

参考资料: https://www.dev2qa.com/how-to-fix-java-lang-noclassdeffounderror-javax-xml-bind-annotation-xmlschema-when-install-android-sdk/

在使用 flutter doctor 时, 提示如下内容: Android license status unknown. Try re-installing or updating your Android SDK Manager. 查看资料发现需要先手动升级 SDKManager , 命令如下 XXX...
最近在倒腾Flutter,在环境配置的时候遇到一些问题,在安装之后执行flutter doctor 有些地方会出现红叉,这个时候有很多人说到sdk的tools目录的bin目录执行sdkmanager --licenses这个时候就出现说新版本需要更新,然后就要执行sdkmanager --update 然后就出现了下面的异常 C:\Users\Administrator\AppData\Lo...
文章目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModul... 但其实还有一种方法可以解决 licenses 未被接受问题,那就是在 AndroidStudio 的 SDK manager (如下截图)中将 Android API 的卸载然后再安装一次(把 Android API 前面的勾点掉,apply,再把勾点上,再 apply),重新安装时会提示你是否接受证书,选择接受即可。
最近在调试自己的SpringMVC demo支持json时一直出现ClassNotFoundException:com.fasterxml.jackson.core.util.DefaultPrettyPrinter$Indenter这样的错误,在这里特意做一个笔记,希望能有所启发。 首先,最基本的步骤我都已经做了: pom.xml &lt;?xml version="1.0" encoding=...
今天执行 flutter doctor -v 的时候发现一个问题,提示信息是 [!] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at /Users/zhaopingfu/Library/Android/sdk • Platform android-S, build-tools 30.0.2 • Java binary at: /Applicat...
今天使用idea将项目打包运行,但是启动不起来,一查日志发现了一些奇奇怪怪的错误 Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled. java.lang.NoClassDefFoundError:javax/xml/bind/annotation/XmlType <dependency>