blob: 4653dfe43f5e662bd13e7adc08371d6011f770a8 [file] [log] [blame]
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -08001/* this header file can be included several times by the same source code.
2 * it contains the list of support command-line options for the Android
3 * emulator program
4 */
5#ifndef OPT_PARAM
6#error OPT_PARAM is not defined
7#endif
David 'Digit' Turner318e4f22009-05-25 18:01:03 +02008#ifndef OPT_LIST
9#error OPT_LIST is not defined
10#endif
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080011#ifndef OPT_FLAG
12#error OPT_FLAG is not defined
13#endif
14#ifndef CFG_PARAM
15#define CFG_PARAM OPT_PARAM
16#endif
17#ifndef CFG_FLAG
18#define CFG_FLAG OPT_FLAG
19#endif
20
21/* required to ensure that the CONFIG_XXX macros are properly defined */
David Turnerb58c44e2009-03-25 02:42:45 -070022#include "android/config/config.h"
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080023
24/* Some options acts like flags, while others must be followed by a parameter
25 * string. Nothing really new here.
26 *
27 * Some options correspond to AVD (Android Virtual Device) configuration
28 * and will be ignored if you start the emulator with the -avd <name> flag.
29 *
30 * However, if you use them with -avd-create <name>, these options will be
31 * recorded into the new AVD directory. Once an AVD is created, there is no
32 * way to change these options.
33 *
34 * Several macros are used to define options:
35 *
36 * OPT_FLAG( name, "description" )
37 * used to define a non-config flag option.
38 * * 'name' is the option suffix that must follow the dash (-)
39 * as well as the name of an integer variable whose value will
40 * be 1 if the flag is used, or 0 otherwise.
41 * * "description" is a short description string that will be
42 * displayed by 'emulator -help'.
43 *
44 * OPT_PARAM( name, "<param>", "description" )
45 * used to define a non-config parameter option
46 * * 'name' will point to a char* variable (NULL if option is unused)
47 * * "<param>" is a template for the parameter displayed by the help
48 * * 'varname' is the name of a char* variable that will point
49 * to the parameter string, if any, or will be NULL otherwise.
50 *
51 * CFG_FLAG( name, "description" )
52 * used to define a configuration-specific flag option.
53 *
54 * CFG_PARAM( name, "<param>", "description" )
55 * used to define a configuration-specific parameter option.
56 *
57 * NOTE: Keep in mind that optio names are converted by translating
58 * dashes into underscore.
59 *
60 * This means that '-some-option' is equivalent to '-some_option'
61 * and will be backed by a variable name 'some_option'
62 *
63 */
64
65CFG_PARAM( sysdir, "<dir>", "search for system disk images in <dir>" )
66CFG_PARAM( system, "<file>", "read initial system image from <file>" )
67CFG_PARAM( datadir, "<dir>", "write user data into <dir>" )
68CFG_PARAM( kernel, "<file>", "use specific emulated kernel" )
69CFG_PARAM( ramdisk, "<file>", "ramdisk image (default <system>/ramdisk.img" )
70CFG_PARAM( image, "<file>", "obsolete, use -system <file> instead" )
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080071CFG_PARAM( initdata, "<file>", "same as '-init-data <file>'" )
72CFG_PARAM( data, "<file>", "data image (default <datadir>/userdata-qemu.img" )
The Android Open Source Projectb3ee93a2009-03-13 13:04:21 -070073CFG_PARAM( partition_size, "<size>", "system/data partition size in MBs" )
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080074CFG_PARAM( cache, "<file>", "cache partition image (default is temporary file)" )
Vladimir Chtchetkine6f50aa32012-04-26 08:20:18 -070075OPT_PARAM( cache_size, "<size>", "cache partition size in MBs" )
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080076CFG_FLAG ( no_cache, "disable the cache partition" )
77CFG_FLAG ( nocache, "same as -no-cache" )
78OPT_PARAM( sdcard, "<file>", "SD card image (default <system>/sdcard.img")
Ot ten Thije353b3b12010-10-05 17:53:30 +010079OPT_PARAM( snapstorage, "<file>", "file that contains all state snapshots (default <datadir>/snapshots.img)")
80OPT_FLAG ( no_snapstorage, "do not mount a snapshot storage file (this disables all snapshot functionality)" )
Tim Baverstock53d8a5c2010-12-02 14:21:39 +000081OPT_PARAM( snapshot, "<name>", "name of snapshot within storage file for auto-start and auto-save (default 'default-boot')" )
82OPT_FLAG ( no_snapshot, "perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage" )
83OPT_FLAG ( no_snapshot_save, "do not auto-save to snapshot on exit: abandon changed state" )
84OPT_FLAG ( no_snapshot_load, "do not auto-start from snapshot: perform a full boot" )
Ot ten Thijeae835ac2010-10-18 13:37:37 +010085OPT_FLAG ( snapshot_list, "show a list of available snapshots" )
Tim Baverstock622b8f42010-12-07 11:36:59 +000086OPT_FLAG ( no_snapshot_update_time, "do not do try to correct snapshot time on restore" )
David 'Digit' Turnerfd59c332011-03-01 00:48:52 +010087OPT_FLAG ( wipe_data, "reset the user data image (copy it from initdata)" )
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080088CFG_PARAM( avd, "<name>", "use a specific android virtual device" )
89CFG_PARAM( skindir, "<dir>", "search skins in <dir> (default <system>/skins)" )
90CFG_PARAM( skin, "<name>", "select a given skin" )
91CFG_FLAG ( no_skin, "don't use any emulator skin" )
92CFG_FLAG ( noskin, "same as -no-skin" )
Siva Velusamy2abcdc42012-10-04 17:44:27 -070093CFG_FLAG ( dynamic_skin, "dynamically construct a skin of given size, requires -skin WxH option" )
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080094CFG_PARAM( memory, "<size>", "physical RAM size in MBs" )
95
David 'Digit' Turner045bdbe2014-04-28 22:26:52 +020096OPT_PARAM( accel, "<mode>", "Configure emulation acceleration" )
97OPT_FLAG ( no_accel, "Same as '-accel off'" )
98
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080099OPT_PARAM( netspeed, "<speed>", "maximum network download/upload speeds" )
100OPT_PARAM( netdelay, "<delay>", "network latency emulation" )
101OPT_FLAG ( netfast, "disable network shaping" )
102
103OPT_PARAM( trace, "<name>", "enable code profiling (F9 to start)" )
104OPT_FLAG ( show_kernel, "display kernel messages" )
105OPT_FLAG ( shell, "enable root shell on current terminal" )
106OPT_FLAG ( no_jni, "disable JNI checks in the Dalvik runtime" )
107OPT_FLAG ( nojni, "same as -no-jni" )
108OPT_PARAM( logcat, "<tags>", "enable logcat output with given tags" )
109
110OPT_FLAG ( no_audio, "disable audio support" )
111OPT_FLAG ( noaudio, "same as -no-audio" )
112OPT_PARAM( audio, "<backend>", "use specific audio backend" )
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800113
114OPT_FLAG ( raw_keys, "disable Unicode keyboard reverse-mapping" )
115OPT_PARAM( radio, "<device>", "redirect radio modem interface to character device" )
116OPT_PARAM( port, "<port>", "TCP port that will be used for the console" )
117OPT_PARAM( ports, "<consoleport>,<adbport>", "TCP ports used for the console and adb bridge" )
118OPT_PARAM( onion, "<image>", "use overlay PNG image over screen" )
119OPT_PARAM( onion_alpha, "<%age>", "specify onion-skin translucency" )
120OPT_PARAM( onion_rotation, "0|1|2|3", "specify onion-skin rotation" )
121
122OPT_PARAM( scale, "<scale>", "scale emulator window" )
123OPT_PARAM( dpi_device, "<dpi>", "specify device's resolution in dpi (default "
124 STRINGIFY(DEFAULT_DEVICE_DPI) ")" )
125
126OPT_PARAM( http_proxy, "<proxy>", "make TCP connections through a HTTP/HTTPS proxy" )
127OPT_PARAM( timezone, "<timezone>", "use this timezone instead of the host's default" )
128OPT_PARAM( dns_server, "<servers>", "use this DNS server(s) in the emulated system" )
129OPT_PARAM( cpu_delay, "<cpudelay>", "throttle CPU emulation" )
130OPT_FLAG ( no_boot_anim, "disable animation for faster boot" )
131
132OPT_FLAG( no_window, "disable graphical window display" )
133OPT_FLAG( version, "display emulator version number" )
134
135OPT_PARAM( report_console, "<socket>", "report console port to remote socket" )
136OPT_PARAM( gps, "<device>", "redirect NMEA GPS to character device" )
137OPT_PARAM( keyset, "<name>", "specify keyset file name" )
138OPT_PARAM( shell_serial, "<device>", "specific character device for root shell" )
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800139OPT_PARAM( tcpdump, "<file>", "capture network packets to file" )
140
David Turnerb58c44e2009-03-25 02:42:45 -0700141OPT_PARAM( bootchart, "<timeout>", "enable bootcharting")
142
vchtchetkine9085a282009-09-14 15:29:20 -0700143OPT_PARAM( charmap, "<file>", "use specific key character map")
144
David 'Digit' Turner318e4f22009-05-25 18:01:03 +0200145OPT_LIST( prop, "<name>=<value>", "set system property on boot")
146
Dries Harnie40beab42010-05-15 17:04:47 +0200147OPT_PARAM( shared_net_id, "<number>", "join the shared network, using IP address 10.1.2.<number>")
148
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800149#ifdef CONFIG_NAND_LIMITS
150OPT_PARAM( nand_limits, "<nlimits>", "enforce NAND/Flash read/write thresholds" )
151#endif
152
David Turner9da935d2011-09-12 21:27:56 +0200153OPT_PARAM( gpu, "<mode>", "set hardware OpenGLES emulation mode" )
154
Vladimir Chtchetkine7485c292012-03-19 11:35:29 -0700155OPT_PARAM( camera_back, "<mode>", "set emulation mode for a camera facing back" )
156OPT_PARAM( camera_front, "<mode>", "set emulation mode for a camera facing front" )
157OPT_FLAG( webcam_list, "lists web cameras available for emulation" )
Vladimir Chtchetkineae0d8132011-09-13 10:48:02 -0700158
Vladimir Chtchetkine8dd31e82012-02-15 17:16:04 -0800159OPT_PARAM( screen, "<mode>", "set emulated screen mode" )
160
Andrew Hsiehddd4ef72012-03-22 00:39:08 +0800161OPT_FLAG( force_32bit, "always use 32-bit emulator" )
162
Nick Kralevich185231a2013-10-07 13:54:31 -0700163OPT_PARAM(selinux, "<disabled|permissive>", "Set SELinux to either disabled or permissive mode")
164
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800165#undef CFG_FLAG
166#undef CFG_PARAM
167#undef OPT_FLAG
168#undef OPT_PARAM
David 'Digit' Turner318e4f22009-05-25 18:01:03 +0200169#undef OPT_LIST