Introduction: Docker images for Android SDK and Emulators
More: Author   ReportBugs   

Docker images for Android SDK and Emulators

Android SDK Base Image

Downloads the Android SDK and installs build tools and platform tools.

Image name


Image version

Image versions (tags) can be found on Docker Hub

Current SDK Versions

  • Build tools - 30.0.1

Base image


Included packages

  • openjdk-14-jdk
  • curl
  • zip
  • unzip
  • git

Android SDK Images

Downloads Android SDK platform for a specific API level.

Image name


Available images

The following images are available on Docker Hub:

Base image


Android Emulator Images

Downloads and installs packages required for hardware acceleration with kvm, and the x86 / x86_64 Android system image for the <api-level>.

Note: host machine must support KVM in order to run accelerated x86 or x86_64 emulators.

Image name


Images and configurations

The following images are available on Docker Hub:

Image on Docker Hub API level Target CPU / ABI
android-emulator-21 21 default x86
android-emulator-22 22 default x86
android-emulator-23 23 default x86
android-emulator-24 24 default x86
android-emulator-25 25 default x86
android-emulator-26 26 default x86
android-emulator-27 27 default x86
android-emulator-28 28 default x86
android-emulator-29 29 default x86
android-emulator-30 30 google_apis x86

Base image


Included packages

  • libc++1

Notes on running Emulators on CI

Running hardware-accelerated Emulators on cloud-hosted CI has been challenging due to KVM being required from the host VM. I wrote about it here. The following is a list of changes Google made to help improve this experience.

Update 1 (26/02/2019)

The new emulator 28.1.8 Canary introduced a headless emulator build without KVM dependency which is a blocker for running instrumented tests on most cloud CI services as the host machines usually don't have the required bios settings turned on for KVM. The android-emulator-28.Dockerfile has been updated to the canary build for experimenting with this. Related discussion with the Android Emulator Team on reddit

Update 2 (17/08/2019)

emulator-headless has been released to stable channel for a few months but is still not practically usable in a CI environment with limited memory.

Update 3 (02/11/2019)

emulator-headless is retired in Emulator 29.2.7 Canary. Headless emulator can be launched with emulator -no-window.

Scheduled release

All images are automatically re-built and pushed weekly to package the latest stable version of the SDK components.

About Me
GitHub: Trinea
Facebook: Dev Tools