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