| 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" |