android-emulator-mcp (sha256:7d3437188f1f7d4a2ec11c912eb5273f787c0ca835d0bdecd9e51b7b8db1387a)

Published 2026-10-13 12:28:32 +11:00 by ci-bot

Installation

docker pull nidavellir.jriyuu.io/jriyuu-labs/android-emulator-mcp@sha256:7d3437188f1f7d4a2ec11c912eb5273f787c0ca835d0bdecd9e51b7b8db1387a
sha256:7d3437188f1f7d4a2ec11c912eb5273f787c0ca835d0bdecd9e51b7b8db1387a

About this package

The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.

Image layers

umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/ubuntu:rockcraft-base /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/.temp_layer.9550.tar --tag 26.04
umoci config --image /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/ubuntu:26.04 --clear=config.entrypoint --clear=config.cmd
umoci config --image /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/ubuntu:26.04 --clear=config.cmd --config.cmd /bin/bash
umoci config --image /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/ubuntu:26.04 --config.env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
umoci config --image /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/ubuntu:26.04 --clear=config.labels --config.label org.opencontainers.image.version=26.04 --config.label org.opencontainers.image.title=ubuntu --config.label org.opencontainers.image.created=2026-09-27T10:25:52.887617+00:00 --config.label org.opencontainers.image.description=The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
umoci config --image /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/ubuntu:26.04 --clear=manifest.annotations --manifest.annotation org.opencontainers.image.version=26.04 --manifest.annotation org.opencontainers.image.title=ubuntu --manifest.annotation org.opencontainers.image.created=2026-09-27T10:25:52.887617+00:00 --manifest.annotation org.opencontainers.image.description=The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/ubuntu:26.04 /home/buildd/rockcraft-ubuntu-1b6090acdaa4d41535f88b18cf344a81/images/.temp_layer.control_data.9550.tar
ENV DEBIAN_FRONTEND=noninteractive
RUN /bin/sh -c apt-get -qqy update && apt dist-upgrade -y && apt-get -qqy --no-install-recommends install openjdk-25-jdk tzdata xvfb && rm -rf /var/lib/apt/lists/* # buildkit
ENV TZ=UTC
RUN /bin/sh -c echo "${TZ}" > /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata # buildkit
ENV JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-25-openjdk-amd64/bin
ENV ANDROID_HOME=/opt/android
COPY /opt/android /opt/android # buildkit
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-25-openjdk-amd64/bin:/opt/android/cmdline-tools/tools:/opt/android/cmdline-tools/tools/bin:/opt/android/platform-tools:/opt/android/build-tools
COPY /usr/local /usr/local # buildkit
ARG USERNAME=androidusr
ENV USERNAME=androidusr
ARG USERPASS=secret
ARG USERID=1300
ENV USERID=1300
ARG GROUPID=1301
ENV GROUPID=1301
RUN |4 USERNAME=androidusr USERPASS=secret USERID=1300 GROUPID=1301 /bin/sh -c groupadd ${USERNAME} --gid ${GROUPID} && useradd ${USERNAME} --uid ${USERID} --gid ${GROUPID} --create-home --shell /bin/bash && echo ${USERNAME}:${USERPASS} | chpasswd # buildkit
ENV APPIUM_VERSION=3.8.0
RUN |4 USERNAME=androidusr USERPASS=secret USERID=1300 GROUPID=1301 /bin/sh -c npm install -g appium@${APPIUM_VERSION} # buildkit
RUN |4 USERNAME=androidusr USERPASS=secret USERID=1300 GROUPID=1301 /bin/sh -c chown -R ${USERID}:${GROUPID} /usr/local/lib/node_modules/appium # buildkit
ENV WORK_PATH=/home/androidusr
WORKDIR /home/androidusr
USER 1300:1301
ENV APPIUM_DRIVER_ESPRESSO_VERSION=9.3.6
ENV APPIUM_DRIVER_FLUTTER_VERSION=4.0.0
ENV APPIUM_DRIVER_GECKO_VERSION=3.0.17
ENV APPIUM_DRIVER_UIAUTOMATOR2_VERSION=8.7.0
RUN |4 USERNAME=androidusr USERPASS=secret USERID=1300 GROUPID=1301 /bin/sh -c appium driver install --source=npm appium-espresso-driver@${APPIUM_DRIVER_ESPRESSO_VERSION} && appium driver install --source=npm appium-flutter-driver@${APPIUM_DRIVER_FLUTTER_VERSION} && appium driver install --source=npm appium-geckodriver@${APPIUM_DRIVER_GECKO_VERSION} && appium driver install --source=npm appium-uiautomator2-driver@${APPIUM_DRIVER_UIAUTOMATOR2_VERSION} # buildkit
ENV SCRIPT_PATH=appium-docker-android
RUN |4 USERNAME=androidusr USERPASS=secret USERID=1300 GROUPID=1301 /bin/sh -c mkdir -p .android && touch ~/.android/repositories.cfg && mkdir -p ${SCRIPT_PATH} # buildkit
COPY --chown=1300:1301 . appium-docker-android/ # buildkit
ENV APP_PATH=/home/androidusr/appium-docker-android
EXPOSE [4723/tcp]
ENTRYPOINT ["sh" "-c"]
CMD ["${WORK_PATH}/${SCRIPT_PATH}/start.sh"]
ARG AUTHORS=Budi Utomo
LABEL author=Budi Utomo <budtmo.os@gmail.com>
USER root
RUN |1 AUTHORS=Budi Utomo /bin/sh -c apt-get -qqy update && apt-get -qqy install --no-install-recommends ca-certificates python3-pip socat supervisor unzip wget && apt autoremove -y && apt clean all && rm -rf /var/lib/apt/lists/* && update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 # buildkit
ARG DOCKER_ANDROID_VERSION=v3.8.0-p1
ENV DOCKER_ANDROID_VERSION=v3.8.0-p1
EXPOSE [4723/tcp 5554/tcp 5555/tcp]
ARG EMULATOR_ANDROID_VERSION=14.0
ARG EMULATOR_API_LEVEL=34
ENV EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 EMULATOR_SYS_IMG=x86_64 EMULATOR_IMG_TYPE=google_apis EMULATOR_BROWSER=chrome
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-25-openjdk-amd64/bin:/opt/android/cmdline-tools/tools:/opt/android/cmdline-tools/tools/bin:/opt/android/platform-tools:/opt/android/build-tools:/opt/android/build-tools
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c yes | sdkmanager --licenses && sdkmanager "platforms;android-${EMULATOR_API_LEVEL}" "system-images;android-${EMULATOR_API_LEVEL};${EMULATOR_IMG_TYPE};${EMULATOR_SYS_IMG}" "emulator" && ln -s ${ANDROID_HOME}/emulator/emulator /usr/bin/ # buildkit
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c apt-get -qqy update && apt-get -qqy install --no-install-recommends feh libxcomposite-dev openbox x11vnc xterm && apt autoremove -y && apt clean all && rm -rf /var/lib/apt/lists/* # buildkit
ENV NOVNC_VERSION=1.7.0 WEBSOCKIFY_VERSION=0.13.0 OPT_PATH=/opt
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c wget -nv -O noVNC.zip "https://github.com/novnc/noVNC/archive/refs/tags/v${NOVNC_VERSION}.zip" && unzip -x noVNC.zip && rm noVNC.zip && mv noVNC-${NOVNC_VERSION} ${OPT_PATH}/noVNC && wget -nv -O websockify.zip "https://github.com/novnc/websockify/archive/refs/tags/v${WEBSOCKIFY_VERSION}.zip" && unzip -x websockify.zip && mv websockify-${WEBSOCKIFY_VERSION} ${OPT_PATH}/noVNC/utils/websockify && rm websockify.zip && ln ${OPT_PATH}/noVNC/vnc.html ${OPT_PATH}/noVNC/index.html # buildkit
ENV DISPLAY=:0 SCREEN_NUMBER=0 SCREEN_WIDTH=1600 SCREEN_HEIGHT=900 SCREEN_DEPTH=24+32 VNC_PORT=5900 WEB_VNC_PORT=6080
EXPOSE [5900/tcp 6080/tcp]
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c rm -rf ${SCRIPT_PATH} # buildkit
ENV SCRIPT_PATH=docker-android
ENV APP_PATH=/home/androidusr/docker-android
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c mkdir -p ${APP_PATH} # buildkit
COPY mixins /home/androidusr/docker-android/mixins # buildkit
COPY cli /home/androidusr/docker-android/cli # buildkit
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c bash /tmp/extension.sh # buildkit
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # buildkit
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c echo ${APP_PATH}/mixins/configs/display/.fehbg >> /etc/xdg/openbox/autostart # buildkit
USER 1300:1301
ENV LOG_PATH=/home/androidusr/logs WEB_LOG_PORT=9000
EXPOSE [9000/tcp]
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c mkdir -p ${LOG_PATH} # buildkit
RUN |2 EMULATOR_ANDROID_VERSION=14.0 EMULATOR_API_LEVEL=34 /bin/sh -c mkdir -p "${WORK_PATH}/.config/Android Open Source Project" && echo "[General]\nshowNestedWarning=false\n" > "${WORK_PATH}/.config/Android Open Source Project/Emulator.conf" # buildkit
STOPSIGNAL SIGTERM
ENV DEVICE_TYPE=emulator
CMD ["${APP_PATH}/mixins/scripts/run.sh"]
USER root
ENV EMULATOR_HOST=127.0.0.1 EMULATOR_PORT=5555 MCP_HOST=0.0.0.0 MCP_PORT=8080 ADB_CONNECT_RETRIES=20 ADB_CONNECT_RETRY_DELAY_SECONDS=5
COPY --chmod=755 mcp/src /opt/mcp/src # buildkit
COPY mcp/requirements.txt /opt/mcp/requirements.txt # buildkit
RUN /bin/sh -c set -x; FASTMCP_PIN="$(grep -E '^fastmcp==' /opt/mcp/requirements.txt | head -n1)"; echo "installing: $FASTMCP_PIN"; python3 --version; (pip3 install --no-cache-dir "$FASTMCP_PIN" || pip3 install --no-cache-dir --break-system-packages "$FASTMCP_PIN"); python3 -c "import fastmcp; print('fastmcp import ok')" # buildkit
COPY --chmod=755 entrypoint-wrapper.sh /usr/local/bin/docker-android-mcp-entrypoint # buildkit
USER 1300:1301
EXPOSE [8080/tcp]
ENTRYPOINT ["/usr/local/bin/docker-android-mcp-entrypoint"]

Labels

Key Value
author Budi Utomo <budtmo.os@gmail.com>
org.opencontainers.image.created 2026-09-27T10:25:52.887617+00:00
org.opencontainers.image.description The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
org.opencontainers.image.title ubuntu
org.opencontainers.image.version 26.04
Details
Container
2026-10-13 12:28:32 +11:00
1
OCI / Docker
linux/amd64
2.9 GiB
Versions (3) View all