安装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)
==>。。。还有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