![](/img/trans.png)
[英]Failed to install android-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 作為演示會更容易......
@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.