Emi*_* M. 21
如果有人正在寻找Java 11上的Linux修复程序,那么我会根据Wang的答案来构建它
cd Android/tools/bin
mkdir jaxb_lib
wget http://central.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar -O jaxb_lib/activation.jar
wget http://central.maven.org/maven2/javax/xml/jaxb-impl/2.1/jaxb-impl-2.1.jar -O jaxb_lib/jaxb-impl.jar
wget http://central.maven.org/maven2/org/glassfish/jaxb/jaxb-xjc/2.3.2/jaxb-xjc-2.3.2.jar -O jaxb_lib/jaxb-xjc.jar
wget http://central.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 http://central.maven.org/maven2/org/glassfish/jaxb/jaxb-jxc/2.3.2/jaxb-jxc-2.3.2.jar -O jaxb_lib/jaxb-jxc.jar
wget http://central.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar -O jaxb_lib/jaxb-api.jar
Run Code Online (Sandbox Code Playgroud)
下载完成后(确保所有文件都已下载确定),您必须编辑sdkmanager和avdmanager脚本。向下滚动到CLASSPATH变量,并添加我们刚刚下载的新jar,如下所示:
CLASSPATH=$APP_HOME/bin/jaxb_lib/activation.jar:$APP_HOME/bin/jaxb_lib/jaxb-impl.jar:$APP_HOME/bin/jaxb_lib/jaxb-xjc.jar:$APP_HOME/bin/jaxb_lib/jaxb-core.jar:$APP_HOME/bin/jaxb_lib/jaxb-jxc.jar:$APP_HOME/bin/jaxb_lib/jaxb-api.jar:<etc etc...DO NOT REMOVE THE OTHER JARS!...>
Run Code Online (Sandbox Code Playgroud)
小智 17
该sdkmanager附带弃用的SDK工具包不支持JDK 8,不再接收更新自2017年九月更多的信息在这里和这里。
将sdkmanager包括在新的命令行工具包支持JDK 11,它可以从Android Studio的下载页面下载,在命令行工具仅 部分。无需下载任何其他文件或使用sdkmanager脚本进行破解,但是您需要更新 PATH 设置,例如在 Linux 上:$ANDROID_HOME/cmdline-tools/latest/bin而不是$ANDROID_HOME/tools/bin
尽管已弃用,但默认情况下,旧的 Tools 包仍与 Android Studio 4.1.1 一起安装。这篇文章解释了原因。
小智 7
对于那些在 Travis CI 中看到此问题的人:我在尝试接受构建工具 30.0.2 的许可协议时看到了此错误,目标是 Android 30,使用 Java 11 进行 travis CI 构建。应用这个答案(/sf/answers/4604796241/)我最终得到了这个工作yml
os: linux
language: android
jdk: openjdk11
android:
components:
- tools
- platform-tools
- tools
- extra-android-m2repository
env:
global:
- TARGET_VERSION=30
- ANDROID_BUILD_TOOLS_VERSION=30.0.2
- ANDROID_HOME=~/android-sdk
before_install:
- touch $HOME/.android/repositories.cfg
- wget "https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip" -O commandlinetools.zip
- unzip commandlinetools.zip -d $ANDROID_HOME/
- yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager "platforms;android-${TARGET_VERSION}" --sdk_root=$ANDROID_HOME
- yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" --sdk_root=$ANDROID_HOME
before_script:
- chmod +x gradlew
script:
- ./gradlew your_command_here
Run Code Online (Sandbox Code Playgroud)
小智 4
下载jxab和jaf,将它们全部放入classpath中。
例如
sdkmanager.bat
...
set CLASSPATH=%CLASSPATH%;mylib\jaxb-ri\lib\jaxb-api.jar
set CLASSPATH=%CLASSPATH%;mylib\jaxb-ri\lib\jaxb-core.jar
set CLASSPATH=%CLASSPATH%;mylib\jaxb-ri\lib\jaxb-impl.jar
set CLASSPATH=%CLASSPATH%;mylib\jaxb-ri\lib\jaxb-jxc.jar
set CLASSPATH=%CLASSPATH%;mylib\jaxb-ri\lib\jaxb-xjc.jar
set CLASSPATH=%CLASSPATH%;mylib\jaf-1.1.1\activation.jar
@rem Execute sdkmanager
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4571 次 |
| 最近记录: |