微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

接受 SDK 许可时出现“java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema”

如何解决接受 SDK 许可时出现“java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema”

好的,所以我正在尝试使用 Android Studio 构建我的 React-Native 应用程序。我在构建时第一次遇到这个错误

Failed to install the following Android SDK packages as some licences have not been accepted.
   build-tools;29.0.2 Android SDK Build-Tools 29.0.2
To build this project,accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively,to transfer the license agreements from one workstation to another,see http://d.android.com/r/studio-ui/export-licenses.html

Using Android SDK: C:\Users\jaspe\AppData\Local\Android\Sdk

当我弄清楚这一点时,我遇到了 this answer,它告诉我接受许可。但是在尝试这样做时,我收到了以下错误

C:\Users\jaspe\AppData\Local\Android\Sdk\tools\bin>sdkmanager --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

解决我发现的 this post。我不使用 brew,但我尝试了第二个答案。它没有用,很遗憾。然后我发现我没有安装JDK,所以我这样做了。但是安装了最新的 JDK 后,我仍然遇到异常:

C:\Users\jaspe\AppData\Local\Android\Sdk\tools\bin>sdkmanager.bat -licenses
Error occurred during initialization of boot layer
java.lang.module.FindException: Module java.xml.bind not found

现在我不知道该怎么办了。我发现 an answer 解释说我需要编辑我的项目设置,但我认为这不适用于我的项目,老实说我有点不知所措。有人有这些错误的经验,可以帮助我修复它们吗?我花了一上午的时间试图解决这个问题,我希望构建一个可运行的 .APK 作为演示会更容易...

解决方法

您使用了错误的 sdkmanagertools 目录已被弃用

打开 Android Studio 并安装最新的 command-line 工具:

enter image description here

这将在您的 Android SDK 中创建此文件夹:

...\Android\Sdk\cmdline-tools\latest\bin

现在使用 bin 目录中的 sdkmanager 接受所有许可:

C:\Users\jaspe\AppData\Local\Android\Sdk\cmdline-tools\latest\bin>sdkmanager.bat --licenses

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。