【发布时间】:2019-06-15 11:13:02
【问题描述】:
我正在尝试构建一个包含 Android SDK 的 Alpine 映像 - 特别是 platform-tools 包。
我的 Dockerfile 执行以下操作:
- 安装 Java 并设置
JAVA_HOME(Android 需要)。 - 从 Google 下载 Android SDK 工具。
- 解压缩包。
- 设置
ANDROID_HOME。还设置PATH,以便可以使用sdkmanager可执行文件。 - 使用
sdkmanager安装platform-tools。 - 将
platform-tools添加到PATH。
platform-tools 包含一个名为adb 的可执行文件,但由于某种原因无法看到它。运行adb 返回:
bash: /android-sdk/platform-tools/adb: No such file or directory
这是我的 Dockerfile:
FROM alpine:latest
# Install bash and java
RUN apk update
RUN apk add bash openjdk8
ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
ENV PATH="$PATH:$JAVA_HOME/bin"
# Download Android SDK and set PATH
RUN mkdir /android-sdk
RUN wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip && unzip *.zip -d /android-sdk && rm *.zip
ENV ANDROID_HOME="/android-sdk"
ENV PATH="$PATH:$ANDROID_HOME/tools/bin"
# Install platform-tools
RUN yes | sdkmanager "platform-tools"
ENV PATH="$PATH:$ANDROID_HOME/platform-tools"
RUN adb version # throws error: adb not found
我查看了this question,但应该使用 platform-tools v24.0 及更高版本解决问题。
【问题讨论】: