未能安装android sdk:“java.lang.NoClassDefFoundError:javax/xml/bind/annotation/XmlSchema”

安装android sdk工具时,会发出以下错误:

NoClassDefFoundError:javax/xml/bind/annotation/XmlSchema

为什么会发生这种情况?如何解决

调试输出:

$java--版本
爪哇9
Java(TM)SE运行时环境(构建9+181)
Java HotSpot(TM)64位服务器虚拟机(构建9+181,混合模式)
$brew cask安装android sdk
==>警告
我们将为您安装android sdk工具、平台工具和构建工具。
您可以通过sdkmanager命令控制android sdk包。
您可能希望将以下内容添加到您的个人资料中:
'导出ANDROID_SDK_ROOT=/usr/local/share/ANDROID SDK'
此操作可能需要10分钟,具体取决于您的internet连接。
请耐心点。
==>满足依赖关系
==>正在下载https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip
已下载:/Users/tomasnovella/Library/Caches/Homebrew/Cask/android sdk--3859397,26.0.1.zip
==>验证Cask android sdk的校验和
==>安装Cask android sdk
==>线程“main”中出现异常
==>NoClassDefFoundError:javax/xml/bind/annotation/XmlSchema
==>位于com.android.repository.api.SchemaModule$SchemaModule版本。<初始化>(SchemaModule.java:156)
==>位于com.android.repository.api.SchemaModule;初始化>(SchemaModule.java:75)
==>在com.android.sdklib.repository.AndroidSdkHandler上;clinit>(AndroidSdkHandler.java:81)
==>位于com.android.sdklib.tool.sdkmanagerli.main(sdkmanagerli.java:117)
==>位于com.android.sdklib.tool.sdkmanagerli.main(sdkmanagerli.java:93)
==>原因:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema
==>位于java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
==>位于java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
==>位于java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
==&gt。。。还有5个
错误:命令无法执行!
==>失败的命令:
/usr/local/Caskroom/android sdk/3859397,26.0.1/tools/bin/sdkmanager-tools-platform-tools-build-tools;26.0.1
==>失败命令的标准输出:
==>失败命令的标准错误:
线程“main”java.lang.NoClassDefFoundError中出现异常:javax/xml/bind/annotation/XmlSchema
位于com.android.repository.api.SchemaModule$SchemaModule版本。<初始化>(SchemaModule.java:156)
位于com.android.repository.api.SchemaModule;初始化>(SchemaModule.java:75)
在com.android.sdklib.repository.AndroidSdkHandler上;clinit>(AndroidSdkHandler.java:81)
位于com.android.sdklib.tool.sdkmanagerli.main(sdkmanagerli.java:117)

通过在Android Studio上的Preferences>下下载Android SDK命令行工具(最新版本)解决了这个错误;外观及;行为>系统设置>安卓SDK>SDK工具并重新运行flatter-doctor-android许可证

最后,将新工具添加到路径中,.bashrc.zshrc或类似工具中,在过时工具之前:

导出路径=$PATH:$ANDROID\u HOME/cmdline tools/latest/bin

发表评论