Our take
- Activity
- 62
- Community
- 58
- Issues
- 47
- Pull requests
- 67
+38 stars in the last 10 days
Overview
Docker-Android runs Android emulators inside Docker containers, giving developers and test teams a repeatable environment for building apps and running UI or unit tests. It addresses the setup and access challenges of maintaining emulator instances by combining containerized devices with browser-based viewing and external ADB control.
The project also documents integrations with testing tools and cloud platforms, and describes beta MCP and AI-agent capabilities. It is most useful when you need an accessible emulator environment for development or automated testing, rather than a substitute for testing on physical devices.
Key Features
- Provides emulator images for Android 9 through Android 14, with device profiles including Samsung Galaxy and Nexus models.
- Offers browser-based emulator access through noVNC.
- Allows emulator control from outside the container using ADB.
- Supports Android project builds and unit or UI testing, including Appium and Espresso workflows.
- Provides log sharing through a web UI.
- Documents cloud deployment and Genymotion integration options.
- Includes beta MCP server and AI-agent support; the README identifies Ollama and VLLM as supported local LLM servers.
- Supports persistent emulator data when a volume is mounted at
/home/androidusr.
Use Cases
- App developers can build Android projects in a containerized environment.
- QA engineers can run repeatable UI tests with Appium or Espresso against emulator profiles.
- CI maintainers can provide Android emulators to Jenkins jobs or other automated workflows.
- Teams can access and control a running emulator remotely through a browser or ADB.
- Teams deploying test infrastructure to cloud platforms can use the documented Azure, AWS and GCP workflows.
Getting Started
On an Ubuntu host with virtualization enabled and Docker installed, start an emulator with:
docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0
Open http://localhost:6080 to view it. See the README for host setup, configuration, persistence, and test workflow details.
Alternatives
- android-mcp-server: Controls Android devices through ADB as an MCP server; unlike docker-android, it does not package emulators in containers.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| docker-android | Python | Other | 15.9k | Not checked yet |
| android-mcp-server | Python | Apache-2.0 | 811 | Inactive |
Considerations
- The README says the emulator image runs under Ubuntu; Windows and macOS users need a suitable Ubuntu virtual machine. Windows 11 users may also configure WSL2 for hardware acceleration.
- Local runs require virtualization support and access to
/dev/kvmfor hardware acceleration. - Emulator data is discarded when the container restarts unless a volume is mounted at
/home/androidusr. - The README labels MCP and AI-agent support as beta. It also describes some additional capabilities as part of a sponsor-based Pro version, so check the project documentation for availability before relying on them.
- Emulator testing does not replace validation on physical devices.
Found this useful?
Share it with someone who would like docker-android.