我剛剛安裝了Android Studio并導(dǎo)入了一個(gè)項(xiàng)目。然而,我無(wú)法構(gòu)建該項(xiàng)目,因?yàn)槲绎@然沒(méi)有證明我對(duì)全能谷歌的奉獻(xiàn)接受了相關(guān)許可。> 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經(jīng)過(guò)一番向無(wú)所不知的谷歌搜索祈禱后,我發(fā)現(xiàn) shell 腳本sdkmanager安裝在不相關(guān)的位置,必須運(yùn)行才能接受許可證??朔俗畛醯男叛鰷y(cè)試問(wèn)題后,我運(yùn)行腳本并遇到了以下錯(cuò)誤。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我在網(wǎng)上找到了很多有同樣問(wèn)題的人。從這個(gè)問(wèn)題來(lái)看,最流行的解決方案建議在 shell 腳本中找到特定行sdkmanager并添加?-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee.?這會(huì)導(dǎo)致以下錯(cuò)誤。Error occurred during initialization of boot layerjava.lang.module.FindException: Module java.se.ee not found經(jīng)過(guò)更多搜索和閱讀其他答案后,上述更改似乎不適用于更新版本的 Java。建議如下。手動(dòng)修改sdkmanager腳本降級(jí)到與步驟 1 中所做的修改兼容的舊版 Java運(yùn)行 shell 腳本并接受許可證升級(jí)回當(dāng)前的 Java 版本最后編譯項(xiàng)目?jī)H僅能夠在我的 Mac 上編譯 Android 應(yīng)用程序似乎有點(diǎn)矯枉過(guò)正,但我愿意嘗試。有誰(shuí)知道 2019 年首次在 Mac 上使用 Java 11 設(shè)置和編譯 Android Studio 項(xiàng)目的一種不太復(fù)雜的方法嗎?
1 回答

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