Overview
The Android emulator is a QEMU-based application that provides a virtual ARM
mobile device on which you can run your Android applications. It runs a full
Android system stack, down to the kernel level, that includes a set of
preinstalled applications (such as the dialer) that you can access from your
applications. You can choose what version of the Android system you want to
run in the emulator by configuring AVDs, and you can also customize the
mobile device skin and key mappings. When launching the emulator and at runtime,
you can use a variety of commands and options to control the its behaviors.
The Android system image distributed in the SDK contains ARM machine code for
the Android Linux kernel, the native libraries, the Dalvik VM, and the various
Android package files (such as for for the Android framework and preinstalled
applications). The emulator's QEMU layers provide dynamic binary translation of
the ARM machine code to the OS and processor architecture of your development
machine.
Adding custom capabilities to the underlying QEMU services, the Android
emulator supports many hardware features likely to be found on mobile devices,
including:
- An ARMv5 CPU and the corresponding memory-management unit (MMU)
- A 16-bit LCD display
- One or more keyboards (a Qwerty-based keyboard and associated Dpad/Phone
buttons)
- A sound chip with output and input capabilities
- Flash memory partitions (emulated through disk image files on the
development machine)
- A GSM modem, including a simulated SIM Card
The sections below provide more information about the emulator and how to use
it for developing Android applications.