Run a full Android emulator inside a Docker container.
R

Run a full Android emulator inside a Docker container.

Run a full Android emulator inside a Docker container.

6,915 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Run a Full Android Emulator in a Docker Container

Ever found yourself wrestling with Android Studio’s emulator setup, especially when you need a clean, reproducible environment for CI/CD, testing, or just keeping your local machine tidy? What if you could spin up a full Android emulator as easily as you run any other Docker container? That’s exactly what the docker-android project makes possible.

This isn’t just a lightweight SDK container—it’s a full system image emulator running inside Docker. For developers automating tests, building CI pipelines, or anyone who wants to containerize their mobile development environment, this is a pretty neat solution.

What It Does

The HQarroum/docker-android repository provides a Docker image that packages the Android Emulator. It uses a combination of QEMU, the Android OS system images, and the necessary emulator tools to boot a virtual Android device entirely within a container. You can interact with it via VNC or connect to it using the Android Debug Bridge (ADB).

Why It’s Cool

The clever part here is the containerization of a hardware-emulated environment. Traditionally, Android emulators require hardware acceleration (like HAXM or KVM) and can be fussy to manage across different machines. This project wraps that complexity into a portable Docker image.

Some standout use cases:

  • CI/CD Pipelines: Run integration or UI tests on a fresh, ephemeral emulator for every build.
  • Isolated Testing: Test your app on specific Android versions or API levels without polluting your host machine.
  • Development Consistency: Ensure every team member—or your future self—has the exact same emulator environment.
  • Headless Operation: Run the emulator in headless mode for automated testing, or connect via VNC if you need a visual interface.

It’s a practical tool that shifts the emulator from being a local, installed piece of software to a disposable, on-demand resource.

How to Try It

Getting started is straightforward. You’ll need Docker installed and, for better performance, a Linux host with KVM support (though it can run in slower, emulated mode on macOS and Windows via Docker Desktop).

First, pull the image:

docker pull hqarroum/docker-android

To run a basic Android emulator (in this case, an API 28 image):

docker run -d \ --device /dev/kvm \ -p 5554:5554 -p 5555:5555 \ -p 5900:5900 \ --name android-emulator \ hqarroum/docker-android

Port 5555 is for ADB connections, and port 5900 is for VNC if you wa

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Dec 31, 2025