The Android Emulator and Upstream QEMU


One Line Summary

A historical perspective and future outlook of the Android emulator and upstream QEMU and their differences.


We will briefly cover the history of the Android emulator and its relationship to QEMU, as well as discuss what the Goldfish platform is. We will then discuss the challenge we had with the Android emulator when AAarch64 was introduced (64-bit ARM), and how Google had to make a non-trivial choice between backporting functionality from upstream QEMU or move to a newer QEMU. Google eventually changed the basis of their Android emulator to a (much) newer QEMU which included AArch64 support. We will briefly cover the differences between the Google Android emulator and upstream QEMU and what it would it would take to bridge the gap between these two code bases. We open up to discussions about interests in upstreaming more Android emulator support to the QEMU project or other interests and challenges the community has with the Android emulator today.

Presentation Materials



  • Christofferdall220


    Christoffer Dall is the Virutalization Tech Lead in Linaro, overseeing a team of QEMU and KVM engineers with a focus on ARM. Christoffer also co-maintains KVM/ARM in Linux, and has worked on the AArch64 Android Emulator support in Linux and QEMU. Christoffer has a PhD in computer science from Columbia University, specializing in operating systems and virtualization, and has industry experience from VMware and and various other companies.

  • Jin Qian



    Jin Qian is a software engineer on the Android systems team at Google.