In this document
See also
The Android SDK includes a mobile device emulator — a virtual mobile device that runs on your computer. The emulator lets you develop and test Android applications without using a physical device.
This document is a reference to the available command line options and the keyboard mapping to device keys. For a complete guide to using the Android Emulator, see Using the Android Emulator .
Keyboard Commands
Table 1 summarizes the mappings between the emulator keys and the keys of your keyboard.
Emulated Device Key | Keyboard Key |
---|---|
Home | HOME |
Menu (left softkey) | F2 or Page-up button |
Star (right softkey) | Shift-F2 or Page Down |
Back | ESC |
Call/dial button | F3 |
Hangup/end call button | F4 |
Search | F5 |
Power button | F7 |
Audio volume up button | KEYPAD_PLUS, Ctrl-F5 |
Audio volume down button | KEYPAD_MINUS, Ctrl-F6 |
Camera button | Ctrl-KEYPAD_5, Ctrl-F3 |
Switch to previous layout orientation (for example, portrait, landscape) | KEYPAD_7, Ctrl-F11 |
Switch to next layout orientation (for example, portrait, landscape) | KEYPAD_9, Ctrl-F12 |
Toggle cell networking on/off | F8 |
Toggle code profiling |
F9 (only with
-trace
startup option)
|
Toggle fullscreen mode | Alt-Enter |
Toggle trackball mode | F6 |
Enter trackball mode temporarily (while key is pressed) | Delete |
DPad left/up/right/down | KEYPAD_4/8/6/2 |
DPad center click | KEYPAD_5 |
Onion alpha increase/decrease | KEYPAD_MULTIPLY(*) / KEYPAD_DIVIDE(/) |
Command Line Parameters
The emulator supports a variety of options that you can specify
when launching the emulator, to control its appearance or behavior.
Here's the command-line syntax of the options available to the
emulator
program:
emulator -avd <avd_name> [-<option> [<value>]] ... [-<qemu args>]
Category | Option | Description | Comments |
---|---|---|---|
AVD |
-avd <avd_name>
or
@<avd_name>
|
Required . Specifies the AVD to load for this emulator instance. | You must create an AVD configuration before launching the emulator. For information, see Managing AVDs with AVD Manager . |
Disk Images |
-cache <filepath>
|
Use <filepath> as the working cache partition image. |
An absolute or relative path to the current working directory.
If no cache file is specified, the emulator's default behavior is to use a temporary file instead.
For more information on disk images, use
|
-data <filepath>
|
Use
<filepath>
as the working user-data disk image.
|
Optionally, you can specify a path relative to the current working directory.
If
-data
is not used, the emulator looks for a file named
userdata-qemu.img
in the storage area of the AVD being used (see
-avd
).
|
|
-initdata <filepath>
|
When resetting the user-data image (through
-wipe-data
), copy the contents
of this file to the new user-data disk image. By default, the emulator copies the
<system>/userdata.img
.
|
Optionally, you can specify a path relative to the current working directory. See also
-wipe-data
.
For more information on disk images, use
|
|
-nocache
|
Start the emulator without a cache partition. |
See also
-cache <file>
.
|
|
-ramdisk <filepath>
|
Use <filepath> as the ramdisk image. |
Default value is
<system>/ramdisk.img
.
Optionally, you can specify a path relative to the current working directory.
For more information on disk images, use
|
|
-sdcard <filepath>
|
Use <file> as the SD card image. |
Default value is
<system>/sdcard.img
.
Optionally, you can specify a path relative to the current working directory. For more information on disk images, use
|
|
-wipe-data
|
Reset the current user-data disk image (that is, the file specified by
-datadir
and
-data
, or the default file). The emulator deletes all data from the user data image file,
then copies the contents of the file at
-inidata
data to the image file before starting.
|
See also
-initdata
.
For more information on disk images, use
|
|
Debug |
-debug <tags>
|
Enable/disable debug messages for the specified debug tags. |
<tags>
is a space/comma/column-separated list of debug component names.
Use
-help-debug-tags
to print a list of debug component names that you can use.
|
-debug-<tag>
|
Enable/disable debug messages for the specified debug tag. |
Use
-help-debug-tags
to print a list of debug component names that you can use in
<tag>
.
|
|
-debug-no-<tag>
|
Disable debug messages for the specified debug tag. | ||
-logcat <logtags>
|
Enable logcat output with given tags. | If the environment variable ANDROID_LOG_TAGS is defined and not empty, its value will be used to enable logcat output by default. | |
-shell
|
Create a root shell console on the current terminal. | You can use this command even if the adb daemon in the emulated system is broken. Pressing Ctrl-c from the shell stops the emulator instead of the shell. | |
-shell-serial <device>
|
Enable the root shell (as in
-shell
and specify the QEMU character
device to use for communication with the shell.
|
<device> must be a QEMU device type. See the documentation for '-serial
dev
' at
http://wiki.qemu.org/download/qemu-doc.html
for a list of device types.
Here are some examples:
|
|
-show-kernel <name>
|
Display kernel messages. | ||
-trace <name>
|
Enable code profiling (press F9 to start), written to a specified file. | ||
-verbose
|
Enable verbose output. |
Equivalent to
-debug-init
.
You can define the default verbose output options used by emulator instances in the Android environment variable
ANDROID_VERBOSE. Define the options you want to use in a comma-delimited list, specifying only the stem of each option:
Here's an example showing ANDROID_VERBOSE defined with the
For more information about debug tags, use
|
|
Media |
-audio <backend>
|
Use the specified audio backend. | |
-audio-in <backend>
|
Use the specified audio-input backend. | ||
-audio-out <backend>
|
Use the specified audio-output backend. | ||
-noaudio
|
Disable audio support in the current emulator instance. | ||
-radio <device>
|
Redirect radio modem interface to a host character device. | ||
-useaudio
|
Enable audio support in the current emulator instance. | Enabled by default. | |
Network |
-dns-server <servers>
|
Use the specified DNS server(s). |
The value of
<servers>
must be a comma-separated list of up to 4 DNS server names or
IP addresses.
|
-http-proxy <proxy>
|
Make all TCP connections through a specified HTTP/HTTPS proxy |
The value of
<proxy>
can be one of the following:
http://<server>:<port>
http://<username>:<password>@<server>:<port>
The
|
|
-netdelay <delay>
|
Set network latency emulation to <delay>. |
Default value is
none
. See the table in
Network Delay Emulation
for supported
<delay>
values.
|
|
-netfast
|
Shortcut for
-netspeed full -netdelay none
|
||
-netspeed <speed>
|
Set network speed emulation to <speed>. |
Default value is
full
. See the table in
Network Speed Emulation
for
supported
<speed>
values.
|
|
-port <port>
|
Set the console port number for this emulator instance to
<port>
.
|
The console port number must be an even integer between 5554 and 5584, inclusive.
<port>
+1
must also be free and will be reserved for ADB.
|
|
-report-console <socket>
|
Report the assigned console port for this emulator instance to a remote third party before starting the emulation. |
<socket>
must use one of these formats:
Use
|
|
System |
-cpu-delay <delay>
|
Slow down emulated CPU speed by <delay> |
Supported values for <delay> are integers between 0 and 1000.
Note that the <delay> does not correlate to clock speed or other absolute metrics — it simply represents an abstract, relative delay factor applied non-deterministically in the emulator. Effective performance does not always scale in direct relationship with <delay> values. |
-gps <device>
|
Redirect NMEA GPS to character device. |
Use this command to emulate an NMEA-compatible GPS unit connected to
an external character device or socket. The format of
<device>
must be QEMU-specific
serial device specification. See the documentation for 'serial -dev' at
http://wiki.qemu.org/download/qemu-doc.html
.
|
|
-nojni
|
Disable JNI checks in the Dalvik runtime. | ||
-qemu
|
Pass arguments to the qemu emulator software. |
Important: When using this option, make sure it is the last option specified, since all options after it are interpretted as qemu-specific options. |
|
-qemu -enable-kvm
|
Enable KVM acceleration of the emulator virtual machine. |
This option is only effective when your system is set up to use
KVM-based VM acceleration
.
You can optionally specify a memory size (
-m <size>
) for the VM, which should match
your emulator's memory size:
-qemu -m 512 -enable-kvm
-qemu -m 1024 -enable-kvm
|
|
-qemu -h
|
Display qemu help. | ||
-gpu on
|
Turn on graphics acceleration for the emulator. | This option is only available for emulators using a system image with API Level 15, revision 3 and higher. For more information, see Using the Android Emulator . | |
-radio <device>
|
Redirect radio mode to the specified character device. |
The format of
<device>
must be QEMU-specific
serial device specification. See the documentation for 'serial -dev' at
http://wiki.qemu.org/download/qemu-doc.html
.
|
|
-timezone <timezone>
|
Set the timezone for the emulated device to <timezone>, instead of the host's timezone. |
<timezone>
must be specified in zoneinfo format. For example:
"America/Los_Angeles"
|
|
-version
|
Display the emulator's version number. | ||
UI |
-dpi-device <dpi>
|
Scale the resolution of the emulator to match the screen size of a physical device. |
The default value is 165. See also
-scale
.
|
-no-boot-anim
|
Disable the boot animation during emulator startup. | Disabling the boot animation can speed the startup time for the emulator. | |
-no-window
|
Disable the emulator's graphical window display. | ||
-scale <scale>
|
Scale the emulator window. |
<scale>
is a number between 0.1 and 3 that represents the desired scaling factor. You can
also specify scale as a DPI value if you add the suffix "dpi" to the scale value. A value of "auto"
tells the emulator to select the best window size.
|
|
-raw-keys
|
Disable Unicode keyboard reverse-mapping. | ||
-noskin
|
Don't use any emulator skin. | ||
-keyset <file>
|
Use the specified keyset file instead of the default. |
The keyset file defines the list of key bindings between the emulator and the host keyboard.
For more information, use
-help-keyset
to print information about this topic.
|
|
-onion <image>
|
Use overlay image over screen. | No support for JPEG. Only PNG is supported. | |
-onion-alpha <percent>
|
Specify onion skin translucency value (as percent). | Default is 50. | |
-onion-rotation <position>
|
Specify onion skin rotation. |
<position>
must be one of the values 0, 1, 2, 3.
|
|
-skin <skinID>
|
This emulator option is deprecated. | Please set skin options using AVDs, rather than by using this emulator option. Using this option may yield unexpected and in some cases misleading results, since the density with which to render the skin may not be defined. AVDs let you associate each skin with a default density and override the default as needed. For more information, see Managing Virtual Devices with AVD Manager . | |
-skindir <dir>
|
This emulator option is deprecated. |
See comments for
-skin
, above.
|
|
Help |
-help
|
Print a list of all emulator options. | |
-help-all
|
Print help for all startup options. | ||
-help-<option>
|
Print help for a specific startup option. | ||
-help-debug-tags
|
Print a list of all tags for
-debug <tags>
.
|
||
-help-disk-images
|
Print help for using emulator disk images. | ||
-help-environment
|
Print help for emulator environment variables. | s | |
-help-keys
|
Print the current mapping of keys. | ||
-help-keyset-file
|
Print help for defining a custom key mappings file. | ||
-help-virtual-device
|
Print help for Android Virtual Device usage. |