【问题标题】:sdkmanager throws Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemasdkmanager 在线程“main”中抛出异常 java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
【发布时间】:2022-04-17 18:09:47
【问题描述】:

我在 MacOS 上,从 AdoptOpenJDK 安装了 JDKs 8 ( LTS ) 以启动并运行 android 环境,并且运行良好!

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

但由于 Gradle 6.5.1 现在需要 JVM 14.0.1 (Oracle Corporation 14.0.1+14),在运行 sdkmanageravdmanager 时出现以下错误。

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema

正如这里https://stackoverflow.com/a/51644855/6716408 所建议的那样,修复是降级 java 版本,但这是不可能的,因为 gradle 的 java 依赖项。

有什么解决办法吗?

【问题讨论】:

    标签: java android gradle android-sdk-manager


    【解决方案1】:

    来自 Google 的 cmdline-tools 软件包包含 avdmanager 的替代版本,该版本在 Java 9 及更高版本下运行良好。 cmdline-tools 应该安装在 ~/Android/Sdk/cmdline-tools/latest 中。请改用该路径中的 avdmanager。

    更新 .zshrc/.bash_profile,如下所示

    # android sdk
    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  // remove this line
    export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin // add this line
    export PATH=$PATH:$ANDROID_HOME/platform-tools

    【讨论】:

      猜你喜欢
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 2023-04-09
      • 2021-09-13
      • 2018-09-15
      相关资源
      最近更新 更多