簡體   English   中英

接受 SDK 許可證時出現“java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema”

[英]"java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema" when accepting SDK licenses

好的,所以我正在嘗試使用 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

在弄清楚這一點時,我遇到了這個告訴我接受許可證的答案 但是,在嘗試這樣做時,我收到了以下錯誤:

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

為了解決我發現這篇文章的問題。 我不使用 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

現在我不知道該怎么辦了。 我找到了一個答案,解釋我需要編輯我的項目設置,但我認為這不適用於我的項目,老實說,我有點不知所措。 有人遇到過這些錯誤,可以幫我解決嗎? 我花了整個上午試圖弄清楚這一點,我希望構建一個 runnable.APK 作為演示會更容易......

您使用了錯誤的sdkmanagertools目錄已被棄用

打開Android Studio並安裝最新的command-line工具:

在此處輸入圖像描述

這將在您的 Android SDK 中創建此文件夾:

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

現在使用 bin 目錄中的sdkmanager接受所有許可證:

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

@MatPag 的答案有我需要的解決方案,但我花了一段時間才認出來。 為特定案例發布此答案,以防它幫助其他人。

當我遇到此錯誤時,我正在嘗試設置 Unreal Engine v4.25.4。 我需要運行虛幻引擎附帶的批處理腳本,位於:

C:\Program Files\Epic Games\UE_4.25\Engine\Extras\Android\SetupAndroid.bat

這產生了錯誤:

Android Studio Path: C:\Program Files\Android\Android Studio Android Studio SDK Path: C:\Users\brianb\AppData\Local\Android\Sdk Using sdkmanager: C:\Users\brianb\AppData\Local\Android\Sdk \tools\bin\sdkmanager.bat Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.(SchemaModule.java:156) at com.android.repository.api.SchemaModule.(SchemaModule.java:75) at com.android.sdklib.reposit ory.AndroidSdkHandler.(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 更新失敗。 請檢查 Android Studio 安裝。 按任意鍵繼續。 . .

即使我找到了 sdkmanager.bat 腳本並根據 MatPag 的回答執行了它,我的 AndroidSetup.bat 腳本還是失敗了。

最終我意識到 AndroidSetup.bat 試圖從錯誤的位置調用 sdkmanager.bat。

我按如下方式編輯了 AndroidSetup.bat 文件(第 61 行)以更正路徑:

:: 設置 SDKMANAGER=%STUDIO_SDK_PATH%\tools\bin\sdkmanager.bat 設置 SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\latest\bin\sdkmanager.bat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM