为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

手掌心 2023-08-09 16:03:00
我刚刚安装了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安装在不相关的位置,必须运行才能接受许可证。克服了最初的信仰测试问题后,我运行脚本并遇到了以下错误。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 命令行工具(最新)选项不应被勾选(但在我的屏幕截图中是这样)。

https://img1.sycdn.imooc.com//64d348700001544a10340714.jpg

勾选它,点击应用,android studio 将引导您完成在~/Android/Sdk/cmdline-tools/.

现在简单来说~/Android/Sdk/cmdline-tools/latest/bin/sdkmanager --licenses


查看完整回答
反对 回复 2023-08-09
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信