-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
42 lines (38 loc) · 1.49 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#
# Android SDK container image with build-tools.
#
# Contains JDK, Android SDK and Android Build Tools. Each version is
# configurable. Build and publish with default arguments:
#
# $ ./scripts/build --push
#
# Build with custom arguments:
#
# $ ./scripts/build --android 34 --jdk 22.0.2_9
#
ARG jdk=22.0.2_9
FROM eclipse-temurin:${jdk}-jdk
ARG android=35
ARG jdk
LABEL maintainer="Sascha Peilicke <sascha@peilicke.de"
LABEL description="Android SDK ${android} using JDK ${jdk}"
ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux
ENV PATH=$PATH:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/platform-tools:${ANDROID_SDK_ROOT}/emulator
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
git \
git-lfs \
gnupg \
openssl \
unzip
RUN curl -s https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -o /tmp/tools.zip && \
unzip -q /tmp/tools.zip -d /tmp && \
yes | /tmp/cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --licenses && \
/tmp/cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --install "cmdline-tools;latest" && \
rm -r /tmp/tools.zip /tmp/cmdline-tools
RUN adduser nonroot && chown nonroot:nonroot -R "${ANDROID_SDK_ROOT}"
USER nonroot
RUN mkdir -p /home/nonroot/.android/ && touch /home/nonroot/.android/repositories.cfg
RUN yes | sdkmanager --licenses >/dev/null && sdkmanager --install \
"platforms;android-${android}" \
"platform-tools"