在安装于 Windows 10 应用商店的 Ubuntu 18.04 下,要安装 Android SDK 工具链(要使用 aapt 这样的工具),是为目的。
1、直奔目标 https://developer.android.com/studio/ 而去,原本以为会有各个版本的 SDK 可供下载的,结果只发现一个 Command line tools only 的 Linux 下载链接(介绍里面写着 You can use the included sdkmanager to download other SDK packages 的字样);下载之后解压缩,发现里面又 sdkmanager;但是不能成功执行,提示没有 JRE;
2、去 java.oracle.com 下载了最新的 JDK 10.0.2(http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html),解压缩到 /opt/jdk,并在 ~/.bashrc 中添加了如下设置:
1 2 3 4 |
export JAVA_HOME=/opt/jdk export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH |
3、运行 sdkmanager 时报“Exception in thread “main” java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema”,找到一个解决方案(https://stackoverflow.com/questions/47345147/android-sdk-manager-throw-exception-with-java-9):Edit sdkmanager file, find DEFAULT_JVM_OPTS and add –add-modules java.xml.bind argument to it. 照此修改后 sdkmanager 执行正常。sdkmanager –list 可以列出可供安装的包,用 sdkmanager –install “build-tools;28.0.2” 安装了相应版本的编译工具,其中的 –install 命令可以省略,为 sdkmanager 的默认动作。
4、sdkmanager 命令位于 tools/bin 目录下,则下载之后的 build-tools 目录与 tools 目录平级;aapt 等命令位于 build-tools/{ver}/ 目录下。