Refactor Dockerfile #8

Open
Marown wants to merge 3 commits from feature/refactor into main
4 changed files with 23 additions and 17 deletions

View File

@ -1,7 +1,9 @@
FROM ubuntu:22.04
FROM eclipse-temurin:19-jdk
ENV DEBIAN_FRONTEND noninteractive
ARG SDK_VERSION=34.0.0
ARG PLATFORM_VERSION="android-34"
ENV ANDROID_HOME /opt/android-sdk-linux
ENV ANDROID_SDK_HOME ${ANDROID_HOME}
ENV ANDROID_SDK_ROOT ${ANDROID_HOME}
@ -9,26 +11,30 @@ ENV ANDROID_SDK ${ANDROID_HOME}
ENV PATH "${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin"
ENV PATH "${PATH}:${ANDROID_HOME}/cmdline-tools/tools/bin"
ENV PATH "${PATH}:${ANDROID_HOME}/tools/bin"
ENV PATH "${PATH}:${ANDROID_HOME}/build-tools/34.0.0"
ENV PATH "${PATH}:${ANDROID_HOME}/build-tools/${SDK_VERSION}"
ENV PATH "${PATH}:${ANDROID_HOME}/platform-tools"
ENV PATH "${PATH}:${ANDROID_HOME}/emulator"
ENV PATH "${PATH}:${ANDROID_HOME}/bin"
RUN dpkg --add-architecture i386 && \
apt-get update -yqq && \
apt-get install -y curl expect git libc6:i386 libgcc1:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 wget unzip vim && \
apt-get clean
RUN groupadd android && useradd -d /opt/android-sdk-linux -g android android
COPY tools /opt/tools
COPY licenses /opt/licenses
WORKDIR /opt/android-sdk-linux
RUN dpkg --add-architecture i386 && \
apt-get update -yqq && \
apt-get install -y curl expect git libc6:i386 libgcc1:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386 openjdk-19-jdk-headless wget unzip vim qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils && \
apt-get clean && \
groupadd android && useradd -d /opt/android-sdk-linux -g android android && \
/opt/tools/entrypoint.sh built-in && \
/opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "cmdline-tools;latest" && \
/opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "build-tools;34.0.0" && \
/opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "platform-tools" && \
/opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "platforms;android-34" && \
/opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "system-images;android-34;google_apis;x86_64"
RUN /opt/tools/entrypoint.sh built-in "${SDK_VERSION}"
CMD /opt/tools/entrypoint.sh built-in
RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "cmdline-tools;latest"
RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "build-tools;${SDK_VERSION}"
RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "platform-tools"
RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "platforms;${PLATFORM_VERSION}"
RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "system-images;${PLATFORM_VERSION};google_apis;x86_64"
RUN /opt/android-sdk-linux/cmdline-tools/tools/bin/sdkmanager "emulator"
CMD /opt/tools/entrypoint.sh built-in "${SDK_VERSION}"

View File

@ -8,7 +8,7 @@ export ANDROID_SDK=${ANDROID_HOME}
export PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin
export PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/tools/bin
export PATH=${PATH}:${ANDROID_HOME}/tools/bin
export PATH=${PATH}:${ANDROID_HOME}/build-tools/34.0.0
export PATH=${PATH}:${ANDROID_HOME}/build-tools/${2}
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:${ANDROID_HOME}/emulator
export PATH=${PATH}:${ANDROID_HOME}/bin

View File

@ -2,7 +2,7 @@
mkdir -p /opt/android-sdk-linux/bin/
cp /opt/tools/android-env.sh /opt/android-sdk-linux/bin/
source /opt/android-sdk-linux/bin/android-env.sh
source /opt/android-sdk-linux/bin/android-env.sh "${2}"
built_in_sdk=1

View File

@ -13,7 +13,7 @@ chown android:android /opt/android-sdk-linux
if checkbin; then
exec su-exec android:android /opt/tools/android-sdk-update.sh "$@"
else
su_mt_user /opt/tools/android-sdk-update.sh ${1}
su_mt_user /opt/tools/android-sdk-update.sh "${1}"
fi