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"