You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple Silicon Mac执行sdkmanager --list抛出NoClassDefFoundError如何解决

报错原因

该报错是因为Java 9及更高版本移除了默认包含的JAXB(Java Architecture for XML Binding)相关模块,而sdkmanager依赖javax.xml.bind系列类库,你当前使用的OpenJDK 17属于高版本JDK,无法提供对应依赖,因此触发类找不到异常。
另外你现有.zshrc中还存在一处路径配置错误:cmdline-tools的路径应该配置到bin目录,而非直接指向sdkmanager可执行文件。

解决方案(优先推荐)

使用Android Studio自带的兼容JDK,无需额外安装第三方JDK,完全适配sdkmanager运行要求:

  • 编辑.zshrc文件,修改原有JDK和Android相关配置为以下内容:
# 注释或删除原有openjdk的PATH配置,添加Android Studio自带JDK的JAVA_HOME
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
export PATH="$JAVA_HOME/bin:$PATH"

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
# 修正cmdline-tools的路径,只到bin目录即可
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
  • 执行命令让配置生效:
    source ~/.zshrc
  • 验证配置是否生效:
    • 执行java -version,确认输出的JDK版本为Android Studio自带的JetBrains Runtime版本
    • 执行sdkmanager --list,确认可以正常输出SDK版本列表,无报错
备选解决方案(使用OpenJDK 8)

如果你不想使用Android Studio自带JDK,可以安装自带JAXB模块的OpenJDK 8:

  • 执行brew命令安装OpenJDK 8:
    brew install openjdk@8
  • 修改.zshrc中的JAVA_HOME配置为:
export JAVA_HOME="/opt/homebrew/opt/openjdk@8/libexec/openjdk.jdk/Contents/Home"
export PATH="$JAVA_HOME/bin:$PATH"
  • 同样执行source ~/.zshrc生效后再验证sdkmanager命令即可

内容的提问来源于stack exchange,提问作者Ismeet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:45:03