|
FROM openjdk:18-jdk-slim |
|
|
|
ENV DEBIAN_FRONTEND noninteractive |
|
|
|
|
|
|
|
|
|
|
|
SHELL ["/bin/bash", "-c"] |
|
|
|
RUN apt update && apt install -y curl \ |
|
sudo wget unzip bzip2 libdrm-dev \ |
|
libxkbcommon-dev libgbm-dev libasound-dev libnss3 \ |
|
libxcursor1 libpulse-dev libxshmfence-dev \ |
|
xauth xvfb x11vnc fluxbox wmctrl libdbus-glib-1-2 socat \ |
|
virt-manager |
|
|
|
|
|
|
|
LABEL maintainer "Halim Qarroum <hqm.post@gmail.com>" |
|
LABEL description "A Docker image allowing to run an Android emulator" |
|
LABEL version "1.0.0" |
|
|
|
|
|
|
|
ARG INSTALL_ANDROID_SDK=1 |
|
ARG API_LEVEL=33 |
|
ARG IMG_TYPE=google_apis |
|
ARG ARCHITECTURE=x86_64 |
|
ARG CMD_LINE_VERSION=9477386_latest |
|
ARG DEVICE_ID=pixel |
|
ARG GPU_ACCELERATED=false |
|
|
|
|
|
ENV ANDROID_SDK_ROOT=/opt/android \ |
|
ANDROID_PLATFORM_VERSION="platforms;android-$API_LEVEL" \ |
|
PACKAGE_PATH="system-images;android-${API_LEVEL};${IMG_TYPE};${ARCHITECTURE}" \ |
|
API_LEVEL=$API_LEVEL \ |
|
DEVICE_ID=$DEVICE_ID \ |
|
ARCHITECTURE=$ARCHITECTURE \ |
|
ABI=${IMG_TYPE}/${ARCHITECTURE} \ |
|
GPU_ACCELERATED=$GPU_ACCELERATED \ |
|
QTWEBENGINE_DISABLE_SANDBOX=1 \ |
|
ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL=10 \ |
|
ANDROID_AVD_HOME=/data |
|
|
|
|
|
|
|
ENV PATH "${PATH}:${ANDROID_SDK_ROOT}/platform-tools" |
|
ENV PATH "${PATH}:${ANDROID_SDK_ROOT}/emulator" |
|
ENV PATH "${PATH}:${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin" |
|
ENV LD_LIBRARY_PATH "$ANDROID_SDK_ROOT/emulator/lib64:$ANDROID_SDK_ROOT/emulator/lib64/qt/lib" |
|
|
|
|
|
WORKDIR /opt |
|
|
|
|
|
|
|
EXPOSE 5554 5555 |
|
|
|
|
|
RUN mkdir /root/.android/ && \ |
|
touch /root/.android/repositories.cfg && \ |
|
mkdir /data |
|
|
|
|
|
COPY keys/* /root/.android/ |
|
|
|
|
|
|
|
|
|
COPY scripts/install-sdk.sh /opt/ |
|
RUN chmod +x /opt/install-sdk.sh |
|
RUN /opt/install-sdk.sh |
|
|
|
|
|
COPY scripts/start-emulator.sh /opt/ |
|
COPY scripts/emulator-monitoring.sh /opt/ |
|
RUN chmod +x /opt/*.sh |
|
|
|
|
|
ENTRYPOINT ["/opt/start-emulator.sh"] |