docker-android is an open source project that packages a full Android emulator environment into a Docker container. It allows developers to run Android virtual devices on servers or CI machines without a graphical desktop, exposing the device screen through a browser-based noVNC interface so that users can interact with Android just as they would on a physical device or local emulator. The project bundles the Android SDK, emulator, and supporting services into ready-made container images. Beyond interactive use, it supports video recording of emulator sessions, which is useful for automated UI tests, demos, and debugging. Because everything runs inside Docker, environments are reproducible and can be started or torn down programmatically, making the tool well suited to pipelines and remote test infrastructure. More recent versions add an MCP (Model Context Protocol) server and an AI-agent component, letting LLM-driven agents control the Android emulator programmatically. This turns the container into a controllable Android device that autonomous agents or scripted workflows can drive for tasks such as app navigation, UI automation, and testing.
Solves
Running Android emulators traditionally requires a graphical host, manual SDK setup, and machine-specific configuration, which makes automated testing and remote access difficult. docker-android solves this by packaging the Android emulator, SDK, and a browser-accessible noVNC display into a portable Docker container, so teams can spin up reproducible Android devices on headless servers or CI runners.