They use qemu in system mode for full-stack emulation, which is, indeed, has performance issues. They may use it in user mode, like shown here: http://tuxthink.blogspot.ru/2012/04/executing-arm-executable... (a first link Google gave me), and implement most of Android APIs in platform-native way not bearing the arm->x86 translation costs. Such approach may provide reasonably better performance.