Emulator 30 (GNU/Linux)

Principle of operation

The Android SDK provides the Android Emulator, which are built from a different source tree than the SDK Tools since 25.3.0 (March 2017).

Recreate matching build environment

The current reference build environment for this version is Ubuntu 14.04.

Build dependencies

apt-get install -y python ninja-build git realpath zip

Preparing the source tree

Install repo.

Checkout the source:

# https://developer.android.com/studio/releases/emulator#emulator_for_arm64_hosts
~/bin/repo init --quiet -u https://android.googlesource.com/platform/manifest -b emu-30-release --depth=1
# --depth=1 mostly useless as it's a git "snap"
~/bin/repo sync --quiet --current-branch -j4
# ~25mn dl with good connectivity / ~25mn checkout on SSD
# 54GB (inc. 11G .repo))

Building the emulator

# https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/android/docs/DEVELOPMENT.md
cd external/qemu/
android/rebuild.sh --no-tests  # a few obscure test failures

# ~25mn, 69GB (inc. 11GB .repo)

This result is in external/qemu/objs/distribution/emulator/ and needs to be manually zip'd, the only dist script is buggy and appears unused.

We just compiled Emulator!



We should be able to compile without (untrusted) prebuilts


android/rebuild.sh --no-tests --target=windows complains about missing msvc prebuilt. --mingw seems obsoleted / removed.

Automated build recipe