1 /* 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 8 #ifndef OPT_LIST 9 #error OPT_LIST is not defined 10 #endif 11 #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 */ 22 #include "android/config/config.h" 23 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 65 CFG_PARAM( sysdir, "<dir>", "search for system disk images in <dir>" ) 66 CFG_PARAM( system, "<file>", "read initial system image from <file>" ) 67 CFG_PARAM( datadir, "<dir>", "write user data into <dir>" ) 68 CFG_PARAM( kernel, "<file>", "use specific emulated kernel" ) 69 CFG_PARAM( ramdisk, "<file>", "ramdisk image (default <system>/ramdisk.img" ) 70 CFG_PARAM( image, "<file>", "obsolete, use -system <file> instead" ) 71 CFG_PARAM( initdata, "<file>", "same as '-init-data <file>'" ) 72 CFG_PARAM( data, "<file>", "data image (default <datadir>/userdata-qemu.img" ) 73 CFG_PARAM( partition_size, "<size>", "system/data partition size in MBs" ) 74 CFG_PARAM( cache, "<file>", "cache partition image (default is temporary file)" ) 75 CFG_FLAG ( no_cache, "disable the cache partition" ) 76 CFG_FLAG ( nocache, "same as -no-cache" ) 77 OPT_PARAM( sdcard, "<file>", "SD card image (default <system>/sdcard.img") 78 OPT_PARAM( snapstorage, "<file>", "file that contains all state snapshots (default <datadir>/snapshots.img)") 79 OPT_FLAG ( no_snapstorage, "do not mount a snapshot storage file (this disables all snapshot functionality)" ) 80 OPT_PARAM( snapshot, "<name>", "name of snapshot within storage file for auto-start and auto-save (default 'default-boot')" ) 81 OPT_FLAG ( no_snapshot, "perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage" ) 82 OPT_FLAG ( no_snapshot_save, "do not auto-save to snapshot on exit: abandon changed state" ) 83 OPT_FLAG ( no_snapshot_load, "do not auto-start from snapshot: perform a full boot" ) 84 OPT_FLAG ( snapshot_list, "show a list of available snapshots" ) 85 OPT_FLAG ( no_snapshot_update_time, "do not do try to correct snapshot time on restore" ) 86 OPT_FLAG ( wipe_data, "reset the user data image (copy it from initdata)" ) 87 CFG_PARAM( avd, "<name>", "use a specific android virtual device" ) 88 CFG_PARAM( skindir, "<dir>", "search skins in <dir> (default <system>/skins)" ) 89 CFG_PARAM( skin, "<name>", "select a given skin" ) 90 CFG_FLAG ( no_skin, "don't use any emulator skin" ) 91 CFG_FLAG ( noskin, "same as -no-skin" ) 92 CFG_PARAM( memory, "<size>", "physical RAM size in MBs" ) 93 94 OPT_PARAM( netspeed, "<speed>", "maximum network download/upload speeds" ) 95 OPT_PARAM( netdelay, "<delay>", "network latency emulation" ) 96 OPT_FLAG ( netfast, "disable network shaping" ) 97 98 OPT_PARAM( trace, "<name>", "enable code profiling (F9 to start)" ) 99 OPT_FLAG ( show_kernel, "display kernel messages" ) 100 OPT_FLAG ( shell, "enable root shell on current terminal" ) 101 OPT_FLAG ( no_jni, "disable JNI checks in the Dalvik runtime" ) 102 OPT_FLAG ( nojni, "same as -no-jni" ) 103 OPT_PARAM( logcat, "<tags>", "enable logcat output with given tags" ) 104 105 OPT_FLAG ( no_audio, "disable audio support" ) 106 OPT_FLAG ( noaudio, "same as -no-audio" ) 107 OPT_PARAM( audio, "<backend>", "use specific audio backend" ) 108 109 OPT_FLAG ( raw_keys, "disable Unicode keyboard reverse-mapping" ) 110 OPT_PARAM( radio, "<device>", "redirect radio modem interface to character device" ) 111 OPT_PARAM( port, "<port>", "TCP port that will be used for the console" ) 112 OPT_PARAM( ports, "<consoleport>,<adbport>", "TCP ports used for the console and adb bridge" ) 113 OPT_PARAM( onion, "<image>", "use overlay PNG image over screen" ) 114 OPT_PARAM( onion_alpha, "<%age>", "specify onion-skin translucency" ) 115 OPT_PARAM( onion_rotation, "0|1|2|3", "specify onion-skin rotation" ) 116 117 OPT_PARAM( scale, "<scale>", "scale emulator window" ) 118 OPT_PARAM( dpi_device, "<dpi>", "specify device's resolution in dpi (default " 119 STRINGIFY(DEFAULT_DEVICE_DPI) ")" ) 120 121 OPT_PARAM( http_proxy, "<proxy>", "make TCP connections through a HTTP/HTTPS proxy" ) 122 OPT_PARAM( timezone, "<timezone>", "use this timezone instead of the host's default" ) 123 OPT_PARAM( dns_server, "<servers>", "use this DNS server(s) in the emulated system" ) 124 OPT_PARAM( cpu_delay, "<cpudelay>", "throttle CPU emulation" ) 125 OPT_FLAG ( no_boot_anim, "disable animation for faster boot" ) 126 127 OPT_FLAG( no_window, "disable graphical window display" ) 128 OPT_FLAG( version, "display emulator version number" ) 129 130 OPT_PARAM( report_console, "<socket>", "report console port to remote socket" ) 131 OPT_PARAM( gps, "<device>", "redirect NMEA GPS to character device" ) 132 OPT_PARAM( keyset, "<name>", "specify keyset file name" ) 133 OPT_PARAM( shell_serial, "<device>", "specific character device for root shell" ) 134 OPT_PARAM( tcpdump, "<file>", "capture network packets to file" ) 135 136 OPT_PARAM( bootchart, "<timeout>", "enable bootcharting") 137 138 OPT_PARAM( charmap, "<file>", "use specific key character map") 139 140 OPT_LIST( prop, "<name>=<value>", "set system property on boot") 141 142 OPT_PARAM( shared_net_id, "<number>", "join the shared network, using IP address 10.1.2.<number>") 143 144 #ifdef CONFIG_NAND_LIMITS 145 OPT_PARAM( nand_limits, "<nlimits>", "enforce NAND/Flash read/write thresholds" ) 146 #endif 147 148 #ifdef CONFIG_MEMCHECK 149 OPT_PARAM( memcheck, "<flags>", "enable memory access checking" ) 150 #endif // CONFIG_MEMCHECK 151 152 #ifdef CONFIG_STANDALONE_UI 153 OPT_PARAM( list_cores, "<host>", "list running core process" ) 154 OPT_PARAM( attach_core, "<console socket>", "attach to a running core process" ) 155 #endif // CONFIG_STANDALONE_UI 156 157 OPT_PARAM( gpu, "<mode>", "set hardware OpenGLES emulation mode" ) 158 159 OPT_PARAM( camera_back, "<mode>", "set emulation mode for a camera facing back" ) 160 OPT_PARAM( camera_front, "<mode>", "set emulation mode for a camera facing front" ) 161 OPT_FLAG( webcam_list, "lists web cameras available for emulation" ) 162 163 OPT_PARAM( screen, "<mode>", "set emulated screen mode" ) 164 165 OPT_FLAG( force_32bit, "always use 32-bit emulator" ) 166 167 #undef CFG_FLAG 168 #undef CFG_PARAM 169 #undef OPT_FLAG 170 #undef OPT_PARAM 171 #undef OPT_LIST 172