File size: 1,300 Bytes
690233f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive
ENV ANDROID_SDK_ROOT=/opt/android-sdk
ENV PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/platform-tools

RUN apt-get update && apt-get install -y \
    openjdk-17-jdk wget unzip \
    libgl1-mesa-glx libegl1-mesa \
    x11vnc xvfb fluxbox \
    novnc websockify \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir -p $ANDROID_SDK_ROOT/cmdline-tools && \
    wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/tools.zip && \
    unzip /tmp/tools.zip -d $ANDROID_SDK_ROOT/cmdline-tools && \
    mv $ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/latest && \
    rm /tmp/tools.zip

RUN yes | sdkmanager --licenses && \
    sdkmanager "platform-tools" "emulator" "platforms;android-34" \
               "system-images;android-34;google_apis;x86_64"

RUN echo "no" | avdmanager create avd -n MyAVD \
    -k "system-images;android-34;google_apis;x86_64" \
    --force

EXPOSE 7860

CMD bash -c " \
    Xvfb :1 -screen 0 1280x800x24 & \
    DISPLAY=:1 fluxbox & \
    x11vnc -display :1 -forever -nopw -rfbport 5900 & \
    websockify --web /usr/share/novnc 7860 localhost:5900 & \
    DISPLAY=:1 emulator -avd MyAVD -no-audio -gpu swiftshader_indirect"