当前位置: 首页 > 知识库问答 >
问题:

使用OpenJDK 11在MacOS上接受Android SDK许可

蓬高谊
2023-03-14
> 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

经过一些 <罢工> 向万物祈祷 google搜索发现shell脚本SDKManager安装在一个不相关的位置,必须运行该脚本才能接受许可证。克服了最初的 <罢工> 信仰的考验 问题,我运行脚本并遇到以下错误。

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

我在网上发现了许多有同样问题的人。

从这个问题来看,最流行的解决方案建议在SDKManagershell脚本中找到特定的一行,并添加-xx:+ignoreUnrecognizedVMoptions--add-modules java.se.ee。这将导致以下错误。

Error occurred during initialization of boot layer
java.lang.module.FindException: Module java.se.ee not found
    null

有没有人知道一种不那么复杂的方法,可以在2019年用Java11首次在Mac上建立和编译一个Android Studio项目?

共有1个答案

顾鸣
2023-03-14

我遇到了同样的问题。看起来您使用的是一个过时的许可接受脚本,它依赖于OpenJDK8,如果您像我一样使用linux,可能位于~/Android/sdk/tools/bin/sdkmanager

与切换Java版本(imo)相比,一个更好的选择是通过android studio安装新的android studio命令行工具。转到搜索->sdk管理器->sdk工具,而Android sdk命令行工具(最新)选项不应该被勾选(在我的截图中是这样)。

勾选它,点击apply,android studio将引导您在~/android/sdk/cmdline-tools/中安装新的cli工具。

 类似资料: