docker-android is a Docker image that runs the Android emulator as a headless service.
The project addresses the need to run Android emulators in containerized environments, particularly for continuous integration pipelines. It packages a minimal Alpine-based image with the Android emulator, ADB server, and QEMU with libvirt support, exposing the emulator over the network for remote control. The approach prioritizes size optimization by including only essential components, with build variants ranging from full SDK installations down to a stripped version under 500 MB uncompressed.
The tool suits teams running Android testing in CI farms or distributed environments where headless operation is required. It supports customization of Android API level and image type during build time, with default configuration using API 33 and Google APIs. The emulator can be remotely controlled using scrcpy for screen interaction, and ADB connections are available over the container network. Users should plan for at least 4 GB of memory and 8 GB of disk space for API 33 builds. The project mentions no alternatives in its documentation.
Development activity shows consistent maintenance with regular updates to keep pace with Android SDK changes. The project accepts contributions and maintains documentation covering multiple deployment scenarios including docker-compose with GPU acceleration and Google Play Store support. Build customization options are actively documented, and the maintainers provide clear guidance on configuration requirements such as ADB key generation for Play Store variants.