Some checks failed
Build Android Emulator Images / build (android-30) (push) Failing after 5s
76 lines
2.3 KiB
Docker
76 lines
2.3 KiB
Docker
FROM ubuntu:22.04
|
|
|
|
LABEL maintainer="Updated for modern Android SDK"
|
|
|
|
# Set up insecure default key
|
|
COPY adbkey adbkey.pub adb_usb.ini /root/.android/
|
|
|
|
ENV ANDROID_SDK_ROOT=/opt/android-sdk \
|
|
ANDROID_HOME=/opt/android-sdk \
|
|
LANG=en_US.UTF-8 \
|
|
LANGUAGE=en_US:en \
|
|
LC_ALL=en_US.UTF-8 \
|
|
PATH="$PATH:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/emulator"
|
|
|
|
# Use specific cmdline-tools version
|
|
ENV CMDLINE_TOOLS_URL=https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
|
|
|
|
RUN dpkg --add-architecture i386 && \
|
|
apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -yq \
|
|
software-properties-common \
|
|
libstdc++6:i386 \
|
|
zlib1g:i386 \
|
|
libncurses5:i386 \
|
|
locales \
|
|
ca-certificates \
|
|
apt-transport-https \
|
|
curl \
|
|
unzip \
|
|
redir \
|
|
iproute2 \
|
|
openjdk-17-jdk-headless \
|
|
xvfb \
|
|
x11vnc \
|
|
fluxbox \
|
|
libpulse0 \
|
|
telnet \
|
|
expect \
|
|
qemu-utils \
|
|
libglu1-mesa \
|
|
libnss3 \
|
|
libxcomposite1 \
|
|
libxcursor1 \
|
|
libxi6 \
|
|
libxtst6 \
|
|
libasound2 \
|
|
--no-install-recommends && \
|
|
locale-gen en_US.UTF-8 && \
|
|
# Install Android SDK cmdline-tools
|
|
mkdir -p /opt/android-sdk/cmdline-tools && \
|
|
curl -L $CMDLINE_TOOLS_URL -o /tmp/cmdline-tools.zip && \
|
|
unzip -q /tmp/cmdline-tools.zip -d /tmp && \
|
|
mv /tmp/cmdline-tools /opt/android-sdk/cmdline-tools/latest && \
|
|
rm /tmp/cmdline-tools.zip && \
|
|
# Accept licenses
|
|
yes | sdkmanager --licenses && \
|
|
# Install emulator, platform-tools, and specific platform
|
|
sdkmanager "emulator" "platform-tools" "platforms;{{ platform }}" "system-images;{{ platform }};google_apis;x86_64" --verbose && \
|
|
# Create AVD
|
|
echo no | avdmanager create avd -n "x86_64" --package "system-images;{{ platform }};google_apis;x86_64" --tag google_apis --device "pixel_2" && \
|
|
# Clean up
|
|
apt-get -yq autoremove && \
|
|
apt-get clean && \
|
|
apt-get autoclean && \
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
COPY config.ini /root/.android/avd/x86_64.avd/config.ini
|
|
|
|
# Expose adb and emulator ports
|
|
EXPOSE 5037 5554 5555 5900
|
|
|
|
# Add start script
|
|
COPY start.sh /start.sh
|
|
RUN chmod +x /start.sh
|
|
CMD ["/start.sh"]
|