我剛剛安裝了Android Studio并導入了一個項目。然而,我無法構建該項目,因為我顯然沒有證明我對全能谷歌的奉獻接受了相關許可。> Failed to install the following Android SDK packages as some licences have not been accepted.? ? ?build-tools;28.0.3 Android SDK Build-Tools 28.0.3? ? ?platforms;android-28 Android SDK Platform 28經過一番向無所不知的谷歌搜索祈禱后,我發現 shell 腳本sdkmanager安裝在不相關的位置,必須運行才能接受許可證??朔俗畛醯男叛鰷y試問題后,我運行腳本并遇到了以下錯誤。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:583)? ? at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)? ? at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)? ? ... 5 mor我在網上找到了很多有同樣問題的人。從這個問題來看,最流行的解決方案建議在 shell 腳本中找到特定行sdkmanager并添加?-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee.?這會導致以下錯誤。Error occurred during initialization of boot layerjava.lang.module.FindException: Module java.se.ee not found經過更多搜索和閱讀其他答案后,上述更改似乎不適用于更新版本的 Java。建議如下。手動修改sdkmanager腳本降級到與步驟 1 中所做的修改兼容的舊版 Java運行 shell 腳本并接受許可證升級回當前的 Java 版本最后編譯項目僅僅能夠在我的 Mac 上編譯 Android 應用程序似乎有點矯枉過正,但我愿意嘗試。有誰知道 2019 年首次在 Mac 上使用 Java 11 設置和編譯 Android Studio 項目的一種不太復雜的方法嗎?
1 回答

繁星點點滴滴
TA貢獻1803條經驗 獲得超3個贊
我遇到了同樣的問題。~/Android/Sdk/tools/bin/sdkmanager
看起來您正在使用過時的許可證接受腳本,該腳本依賴于 OpenJDK 8,如果您像我一樣使用 Linux,則可能位于。
切換 Java 版本(imo)的更好替代方法是通過 android studio 安裝新的 android studio 命令行工具。轉到搜索 -> sdk 管理器 -> sdk 工具,并且 Android SDK 命令行工具(最新)選項不應被勾選(但在我的屏幕截圖中是這樣)。
勾選它,點擊應用,android studio 將引導您完成在~/Android/Sdk/cmdline-tools/
.
現在簡單來說~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --licenses
。
添加回答
舉報
0/150
提交
取消