Docker images for Android SDK and Emulators
Downloads the Android SDK and installs build tools and platform tools.
reactivecircus/android-sdk-base
Image versions (tags) can be found on Docker Hub
- Build tools -
30.0.3
ubuntu:bionic
openjdk-14-jdk
curl
zip
unzip
git
Downloads Android SDK platform for a specific API level.
reactivecircus/android-sdk-<api-level>
The following images are available on Docker Hub:
- android-sdk-21
- android-sdk-22
- android-sdk-23
- android-sdk-24
- android-sdk-25
- android-sdk-26
- android-sdk-27
- android-sdk-28
- android-sdk-29
- android-sdk-30
reactivecircus/android-sdk-base:latest
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.
reactivecircus/android-emulator-<api-level>
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 |
reactivecircus/android-sdk-<api-level>:latest
libc++1
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.
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
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.
emulator-headless
is retired in Emulator 29.2.7 Canary. Headless emulator can be launched with emulator -no-window
.
All images are automatically re-built and pushed weekly to package the latest stable version of the SDK components.