# budtmo/docker-android

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/budtmo-docker-android).**

15,322 stars · 1,718 forks · Python · NOASSERTION

## Links

- GitHub: https://github.com/budtmo/docker-android
- awesome-repositories: https://awesome-repositories.com/repository/budtmo-docker-android.md

## Topics

`alibabacloud` `android` `android-emulator` `aws` `azure` `cloud` `docker` `docker-android` `emulator` `gcp` `genymotion` `jenkins` `kubernetes` `mobile-app` `mobile-web` `novnc` `saltstack` `selenium` `selenium-grid` `terraform`

## Description

Docker-Android runs a full Android emulator inside a Docker container, enabling mobile app testing and automation without requiring a physical device. The emulator uses QEMU-based virtualization with optional KVM acceleration for hardware-backed performance, and supports nested virtualization on cloud VMs from providers like AWS, GCP, and Azure for environments without direct hardware acceleration.

The container exposes the Android Debug Bridge over TCP/IP, allowing host-side tools to connect to the emulator as if it were a local device. It provides browser-based interaction with the emulator screen via noVNC, a JavaScript VNC client that streams the display over WebSockets for real-time remote access. An Appium server starts inside the container, enabling automated mobile test frameworks to control the emulator through the WebDriver protocol, and the Appium instance can register with a Selenium Grid hub for distributed test execution across multiple containers.

The emulator display output can be captured as a video file using FFmpeg for post-run review of test sessions. Emulator data, settings, and installed apps are preserved across container restarts through mounted Docker volumes. The container supports selecting Android API levels, applying custom device skins, and choosing predefined phone or tablet models. It also integrates with Genymotion's cloud service for additional device profiles and managed infrastructure.

## Tags

### Mobile Development

- [Android Containerization](https://awesome-repositories.com/f/mobile-development/android-applications/android-containerization.md) — Runs a full Android emulator inside a Docker container using QEMU and optional KVM acceleration.
- [Dockerized Android Emulators](https://awesome-repositories.com/f/mobile-development/android-emulator-orchestration/dockerized-android-emulators.md) — Runs a full Android emulator inside a Docker container, enabling mobile testing without a physical device. ([source](https://github.com/budtmo/docker-android#readme))
- [Dockerized Android Emulators](https://awesome-repositories.com/f/mobile-development/android-applications/android-containerization/dockerized-android-emulators.md) — Runs a full Android emulator inside a Docker container with hardware acceleration for mobile app testing.
- [Android Emulator Orchestration](https://awesome-repositories.com/f/mobile-development/android-emulator-orchestration.md) — Runs a full Android emulator inside a Docker container, enabling mobile testing without a physical device. ([source](https://github.com/budtmo/docker-android/blob/master/documentations/USE_CASE_JENKINS.md))
- [WebDriver-Based Automation Servers](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks/webdriver-based-automation-servers.md) — Starts an Appium server inside the container for automated mobile test control via WebDriver.
- [Mobile UI Automation Frameworks](https://awesome-repositories.com/f/mobile-development/mobile-infrastructure-security/mobile-synchronization/automation-frameworks/mobile-browser-automation/mobile-ui-automation-frameworks.md) — Runs UI and unit tests on the emulated device using frameworks like Appium and Espresso. ([source](https://github.com/budtmo/docker-android#readme))
- [Appium Integrations](https://awesome-repositories.com/f/mobile-development/mobile-infrastructure-security/mobile-synchronization/automation-frameworks/mobile-browser-automation/native-mobile-automation/appium-integrations.md) — Starts an Appium server inside the container for automated mobile test control via WebDriver.
- [Containerized Appium Servers](https://awesome-repositories.com/f/mobile-development/mobile-infrastructure-security/mobile-synchronization/automation-frameworks/mobile-browser-automation/native-mobile-automation/appium-integrations/containerized-appium-servers.md) — Integrates an Appium server inside the container for executing automated mobile tests on the emulated device.
- [Android API Level Selectors](https://awesome-repositories.com/f/mobile-development/android-emulator-orchestration/android-api-level-selectors.md) — Supports selecting from multiple Android API levels to run the emulator with a specific OS version. ([source](https://github.com/budtmo/docker-android#readme))
- [Cloud-Based Android Emulators](https://awesome-repositories.com/f/mobile-development/android-emulator-orchestration/cloud-based-android-emulators.md) — Deploys Android emulators on cloud VMs with nested virtualization for scalable remote testing.

### Part of an Awesome List

- [Testing and Automation](https://awesome-repositories.com/f/awesome-lists/devtools/testing-and-automation.md) — Executes unit and UI tests using frameworks like Appium and Espresso against the emulated device. ([source](https://github.com/budtmo/docker-android#readme))
- [Web-Based Emulators](https://awesome-repositories.com/f/awesome-lists/media/games-emulation/web-based-emulators.md) — Provides a web-based VNC interface to view and interact with the Android emulator screen from any browser. ([source](https://github.com/budtmo/docker-android#readme))

### Development Tools & Productivity

- [ADB Device Managers](https://awesome-repositories.com/f/development-tools-productivity/adb-device-managers.md) — Exposes ADB over TCP/IP so host tools can connect to the emulated device as if local.
- [ADB Remote Control Platforms](https://awesome-repositories.com/f/development-tools-productivity/adb-remote-control-platforms.md) — Connects to the emulator from outside the container using ADB for remote device management and automation. ([source](https://github.com/budtmo/docker-android/blob/master/README.md))
- [Genymotion Cloud Device Launchers](https://awesome-repositories.com/f/development-tools-productivity/adb-device-managers/genymotion-cloud-device-launchers.md) — Ships a Docker-based launcher that starts Genymotion cloud Android devices and auto-connects via ADB. ([source](https://github.com/budtmo/docker-android/blob/master/documentations/THIRD_PARTY_GENYMOTION.md))

### Networking & Communication

- [VNC-to-WebSocket Translators](https://awesome-repositories.com/f/networking-communication/cross-chain-messaging-protocols/protocol-translators/vnc-to-websocket-translators.md) — Streams the emulator display to a browser via noVNC using WebSockets for real-time interaction.
- [VNC Kiosk Servers](https://awesome-repositories.com/f/networking-communication/remote-access-control/vnc-kiosk-servers.md) — Provides a browser-accessible noVNC interface to view and interact with the emulator screen in real time. ([source](https://github.com/budtmo/docker-android#readme))
- [Android Emulator VNC Access](https://awesome-repositories.com/f/networking-communication/remote-emulation-communication/android-emulator-vnc-access.md) — Provides browser-based VNC access to the Android emulator screen via noVNC for remote debugging.
- [Emulated Network Bridging](https://awesome-repositories.com/f/networking-communication/virtual-network-bridging/ovn-virtual-network-instance-connections/emulated-network-bridging.md) — Exposes ADB over TCP/IP so host tools can connect to the emulated device as if local.

### Operating Systems & Systems Programming

- [QEMU KVM](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-technologies/virtual-machines/qemu-kvm.md) — Uses KVM acceleration to speed up Android emulator performance on compatible hosts. ([source](https://github.com/budtmo/docker-android#readme))
- [Containerized QEMU Instances](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-technologies/virtual-machines/qemu-kvm/containerized-qemu-instances.md) — Runs the Android emulator inside Docker using QEMU-based virtualization with optional KVM acceleration.
- [Nested Virtualization Environments](https://awesome-repositories.com/f/operating-systems-systems-programming/cloud-workload-virtualization/nested-virtualization-environments.md) — Supports nested virtualization on AWS, GCP, and Azure to run the emulator without direct hardware acceleration.
- [Cloud VM Android Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-management/headless-virtualization/headless-android-emulation/cloud-vm-android-emulators.md) — Launches Android emulators inside cloud VMs that support nested virtualization for mobile app testing. ([source](https://github.com/budtmo/docker-android/blob/master/documentations/USE_CASE_CLOUD.md))
- [Nested Virtualization Environments](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-platforms/cross-architecture-virtualization/nested-virtualization-environments.md) — Supports nested virtualization on cloud VMs to run the emulator without direct hardware acceleration.

### System Administration & Monitoring

- [VNC Interfaces](https://awesome-repositories.com/f/system-administration-monitoring/browser-based-remote-desktop-clients/vnc-interfaces.md) — Provides a browser-based VNC interface for real-time interaction with the Android emulator screen.

### Testing & Quality Assurance

- [Android Emulator Test Automation](https://awesome-repositories.com/f/testing-quality-assurance/native-mobile-app-automation/android-emulator-test-automation.md) — Automates UI and unit tests on emulated Android devices using Appium, Espresso, and Selenium Grid.
- [Simulator Video Recorders](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/ui-automation/automation-flow-recorders/simulator-video-recorders.md) — Captures video of the emulator screen during test runs for later review and debugging. ([source](https://github.com/budtmo/docker-android#readme))

### Data & Databases

- [Android Emulator State Persistence](https://awesome-repositories.com/f/data-databases/emulation-state-management/android-emulator-state-persistence.md) — Keeps Android emulator data and settings across container restarts by mounting Docker volumes.
- [Persistent Storage Volumes](https://awesome-repositories.com/f/data-databases/persistent-storage-volumes.md) — Mounts a Docker volume to preserve emulator data, settings, and installed apps across container restarts.

### DevOps & Infrastructure

- [Genymotion Cloud Integrations](https://awesome-repositories.com/f/devops-infrastructure/cloud-service-integrations/genymotion-cloud-integrations.md) — Provides a Docker-based launcher that connects Android emulators to Genymotion's cloud device service. ([source](https://github.com/budtmo/docker-android#readme))
- [Distributed Testing Grids](https://awesome-repositories.com/f/devops-infrastructure/distributed-testing-grids.md) — Registers the Appium instance with a Selenium Grid hub for distributed test execution across containers.
- [Appium Grid Nodes](https://awesome-repositories.com/f/devops-infrastructure/distributed-testing-grids/appium-grid-nodes.md) — Registers Appium instances with a Selenium Grid hub for distributed test execution across multiple containers.
- [Genymotion Cloud Device Launchers](https://awesome-repositories.com/f/devops-infrastructure/hosted-cloud-solutions/genymotion-cloud-device-launchers.md) — Provides a Docker-based launcher for Genymotion Android virtual devices from cloud providers with automatic ADB connection.
- [Cloud Provider Integrations](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/infrastructure-as-code/iac-providers-and-cloud/cloud-provider-integrations.md) — Deploys Android emulators on cloud platforms such as AWS, GCP, and Azure for remote testing. ([source](https://github.com/budtmo/docker-android#readme))
- [Emulator State Persistence Volumes](https://awesome-repositories.com/f/devops-infrastructure/restart-automation/process-restarts/emulator-state-persistence-volumes.md) — Mounts Docker volumes to preserve emulated device state and files when the container is stopped and restarted. ([source](https://github.com/budtmo/docker-android#readme))

### Graphics & Multimedia

- [Emulation Session Recording](https://awesome-repositories.com/f/graphics-multimedia/emulation-session-recording.md) — Captures video of the emulator display for recording test sessions or debugging visual issues. ([source](https://github.com/budtmo/docker-android/blob/master/README.md))
