android - 让 Android sdkmanager 与 Java 11 一起运行
问题描述
我在sdkmanager
使用 Java 11 运行 Android 时遇到问题(不是工作室,只有 SDK 工具)。我不想安装 JDK 8 或类似的东西。sdkmanager
有没有办法使用 JDK 11为 Android 解决这个问题?
我已经完成了这个答案,它没有为 java 11 提供命令行修复。还有其他可能的解决方法吗?
解决方案
更新:正如另一个答案中所解释的,新命令行工具中的 sdkmanager 支持 JDK 11+。旧的 sdkmanager 多年未收到更新,因此不需要此解决方法。检查@dmertins 答案以获取链接和更多详细信息。
如果有人正在寻找 Java 11 上的 Linux 修复程序。我在之前的答案之上构建了这个
cd Android/tools
mkdir jaxb_lib
wget https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar -O jaxb_lib/activation.jar
wget https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-impl/2.3.3/jaxb-impl-2.3.3.jar -O jaxb_lib/jaxb-impl.jar
wget https://repo1.maven.org/maven2/com/sun/istack/istack-commons-runtime/3.0.11/istack-commons-runtime-3.0.11.jar -O jaxb_lib/istack-commons-runtime.jar
wget https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-xjc/2.3.3/jaxb-xjc-2.3.3.jar -O jaxb_lib/jaxb-xjc.jar
wget https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar -O jaxb_lib/jaxb-core.jar
wget https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-jxc/2.3.3/jaxb-jxc-2.3.3.jar -O jaxb_lib/jaxb-jxc.jar
wget https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar -O jaxb_lib/jaxb-api.jar
下载完成后(确保所有文件都下载正常),您必须在 tools/bin 目录中编辑 sdkmanager 和 avdmanager 脚本。您可以手动或自动执行此操作。
来自 Simon Ruggier 的回答(除非您使用 gnu-sed,否则在 mac 上不起作用):
sed -ie 's%^CLASSPATH=.*%\0:$APP_HOME/jaxb_lib/*%' bin/sdkmanager bin/avdmanager
或者手动,向下滚动到 CLASSPATH 变量,然后添加我们刚刚下载的新 jar,如下所示:
CLASSPATH=$APP_HOME/jaxb_lib/activation.jar:$APP_HOME/jaxb_lib/jaxb-impl.jar:$APP_HOME/jaxb_lib/jaxb-xjc.jar:$APP_HOME/jaxb_lib/jaxb-core.jar:$APP_HOME/jaxb_lib/jaxb-jxc.jar:$APP_HOME/jaxb_lib/jaxb-api.jar:<etc etc...DO NOT REMOVE THE OTHER JARS!...>
推荐阅读
- python - 在由三个或更多零分隔的部分中对列表元素进行计数和求和
- github - 没有合并的 PR 验证管道
- javascript - Spotify WebApi 无法获取用户播放列表数据
- css - 为什么我的 CSS 中的椭圆形 div 在我调整大小或还原它时会放在我网站的右侧墙(边框)旁边?
- javascript - Angular 10 与现有 PHP 项目的集成
- javascript - 引导多选搜索栏中的默认值选择未显示
- mysql - 在兼容 MySQL 5.7 的 Amazon Aurora 中调用 JSON_TABLE() 时出错
- kubernetes - 为 Kubernetes 中的 pod 创建的最大标签数
- wordpress - 当我有一个来自 godaddy 或任何其他服务提供商的主域时如何添加子域
- delphi - 如何在 WM_DROPFILES 期间根据文件扩展名更改光标