ITEEDU

模拟器启动选项

仿真器支持各种不同的选项,您可以在启动模拟器时指定 ,以控制其外观或行为。 这是命令行手册关于启动模拟器的选项:

emulator [-<option> [<value>]] ... [-<qemu args>]

下表概述了可用的选项.

类别 选项 描述 注释
帮助 -help 打印模拟器的所有选项的清单.  
-help-all 打印所有启动选项的帮助信息.  
-help-<option> 打印某个启动选项的帮助信息.  
-help-debug-tags 打印关于-debug <tags>的清单.  
-help-disk-images 打印使用模拟器磁盘映像的帮助.  
-help-environment 打印模拟器环境变量的帮助.  
-help-keys 打印当前的热键.  
-help-keyset-file 打印自定义的热键映射文件的帮助.  
系统映像 -cache <filepath> 使用 <filepath> 作为缓存的工作分区映像. 或者,您也可以指定路径相对于当前的工作目录. 如果没有高速缓存文件,在模拟器的默认行为是使用一个临时文件.

需要更多关于系统映像的信息, 使用 -help-disk-images.

-data <filepath> 使用 <filepath> 作为工作用户数据磁盘映像. 或者,您也可以指定路径相对于当前的工作目录. 如果 -data 没有被使用, 模拟器会查找一个叫"userdata-qemu.img"的文件; 它在目录 <datadir>. ~/.android (on Linux/Mac) or C:\Documents and Settings\<user>\Local Settings\Application Data\Android (on Windows).

如果你使用 -data <filepath> 但是这个文件却不存在, 模拟器就会这个目录创建指定文件名的文件.

参考 运行多个模拟器实例 要了解如何使用 -data 让多个模拟器情况下保存其用户数据的会议。

要了解更多信息在磁盘上的图像,使用 -help-disk-images.

-image <filepath> 使用 <filepath> 作为系统映像. 或者,您也可以指定路径相对于当前的工作目录. 默认是 <system>/system.img.
-initdata <filepath> 当重置用户数据映像 (通过 -wipe-data)时, 会拷贝这个文件的内容给新的用户数据映像. 默认情况下, 模拟器会复制<system>/userdata.img. 或者,您也可以指定路径相对于当前的工作目录. 同样,可以看看 -wipe-data.

想了解更多磁盘映像的信息, 使用 -help-disk-images.

-kernel <filepath> 使用 <filepath> 作为仿真内核. 或者,您也可以指定路径相对于当前的工作目录.
-nocache 启动模拟器没有缓存分区。 参考 -cache <file>.
-ramdisk <filepath> 使用 <filepath> 作为随机磁盘映像. 默认值是<system>/ramdisk.img.

或者,您也可以指定路径相对于当前的工作目录. 想了解更多关于磁盘映像的信息, 使用 -help-disk-images.

-sdcard <filepath> 使用 <file> 作为SD卡映像. 默认值是 <system>/sdcard.img.

或者,您也可以指定路径相对于当前的工作目录. 想了解更多关于磁盘映像的信息, 使用 -help-disk-images.

-system <dirpath> 搜索系统, ramdisk和用户数据图像在目录<dir>. <dir>指定路径相对于当前的工作目录.
-wipe-data 重置当前的用户数据磁盘映像 (即, 这个文件的指定是用 -datadir-data, 或者是默认的文件). 模拟器删除所有数据用户数据的映像文件, 然后复制该文件的内容 -inidata 数据给启动前的映像文件. 参考 -initdata.

想了解更多关于磁盘映像的信息, 使用 -help-disk-images.

调试 -debug <tags> 启用/禁用调试消息为指定的调试标记. <tags> 是一个空间/逗号/列分隔的调试组件名称清单. 使用 -help-debug-tags 打印你使用的调试组件名称清单.
-debug-<tag> 启用/禁用调试消息为指定的调试标记. 使用 -help-debug-tags 打印你在<tag>使用的调试组件名称清单 .
-debug-no-<tag> 启用/禁用调试消息为指定的调试标记.
-logcat <logtags> 启用logcat输出给标签. 如果环境变量ANDROID_LOG_TAGS的定义不为     空,其值将被用来默认使能logcat输出.
-shell 创建一个root的shell控制台在当前终端. 您可以使用此命令,即使adb 后台程序在仿真系统被中断了。   按Ctrl - C从shell 停止模拟器,而不是shell.
-shell-serial <device> 启用root的shell (如在-shell 通过shell和指定QEMU特征的设备通信. <device> 必须是一种 QEMU设备类型. 参考关于 'serial -dev' 的文档 http://www.bellard.org/qemu/qemu-doc.html#SEC10 提供了一个设备类型清单.

下面是一些例子:

  • -shell-serial stdio is identical to -shell
  • -shell-serial tcp::4444,server,nowait 让你在TCP端口4444跟shell通信
  • -shell-serial fdpair:3:6 让父进程使用fds 3 (入)和6 (出)与shell通信
  • -shell-serial fdpair:0:1 使用通用的输入输出 fds, 除了QEMU 不会终端烹调数据.
-show-kernel <name> 显示内核消息.  
-trace <name> 启用代码分析(按F9开始),写入指定的文件.  
-verbose 启用详细输出. 等同于-debug-init.

您可以使用模拟器实例定义默认的详细输出选项在Android环境变量为ANDROID_VERBOSE时. 确定您要使用的选项在一个逗号分隔的列表,指明只有干每一种选择: -debug-<tags>.

这里有一个例子: ANDROID_VERBOSE使用 -debug-init-debug-modem定义时的选项:

ANDROID_VERBOSE=init,modem

如想了解调试标签,使用 <-help-debug-tags>.

媒体 -audio <backend> 使用指定的音频后端.  
-audio-in <backend> 使用指定的音频输入后端.  
-audio-out <backend> 使用指定的音频输出后端.  
-noaudio 禁用目前的模拟器支持的音频.  
-radio <device> 重定向无线电调制解调器接口到主机字符设备.  
-useaudio 启用目前的模拟器支持的音频. 默认启用.
网络 -dns-server <servers> 使用指定的DNS服务器. <servers> 的值必须有一个逗号分隔的清单上的多达4个DNS服务器的名称或    IP地址.
-http-proxy <proxy> 使所有的TCP连接通过指定的HTTP / HTTPS的代理 <proxy> 的值必须是以下之一:
http://<server>:<port>
http://<username>:<password>@<server>:<port>

http:// 前缀可以省略. 如果 -http-proxy <proxy> 命令不被支持, 模拟器会查找 http_proxy 环境变量然后自动地使用任意值匹配以下描述的格式<proxy>.

-netdelay <delay> 设置网络延迟仿真 <delay>. 默认值是 none. 参考表格 网络延迟仿真 支持 <delay> 的值.
-netfast 快捷方式 -netspeed full -netdelay none  
-netspeed <speed> 设置网络速率仿真 <speed>. 默认值是 full. 参考表格 网络速率仿真 支持 <speed> 的值.
-port <port> 设置模拟器实例控制台端口号 <port>. 控制台端口号码必须在整数5554和5584 之间的,其中包括. <port>+1 必须是免费并且保留给ADB.
-report-console <socket> 在开始仿真时报告模拟器实例指定的控制台端口给第三方的程序. <socket> 必须使用以下三种格式之一:

tcp:<port>[,server][,max=<seconds>]
unix:<port>[,server][,max=<seconds>]

使用 -help-report-console

浏览关于这个话题的更多信息.
System -cpu-delay <delay> 降低模拟器的CPU速度 <delay> <delay> 支持的值在 0 到 1000的整数之间.

请注意, <delay> 跟时钟速度或其他绝对指标不相关 — 它只是一个抽象的,相对的延误因素适用于非deterministically 在模拟器. 有效性能跟 <delay>的值并没有直接关系.

-gps <device> 重定向NMEA GPS在字符设备. 使用此命令效仿NMEA兼容的全球定位系统相连单位   外部字符设备或插座. <device>的格式必须是QEMU指定的   串行设备规格. 查看关于 'serial -dev' 的文档在 http://www.bellard.org/qemu/qemu-doc.html#SEC10.
-nojni 禁用检查JNI在Dalvik运行时. 
-qemu 传递参数给qemu.  
-qemu -h 显示qemu帮助.
-radio <device> 广播模式重定向到指定的字符设备. <device> 的格式必须是QEMU指定的   串行设备规格.查看关于 'serial -dev' 的文档在 http://www.bellard.org/qemu/qemu-doc.html#SEC10.
-timezone <timezone> 设置仿真设备的时间 <timezone>, 不是主机的时间. <timezone> 必须指定在zoneinfo格式。例如:

"America/Los_Angeles"
"Europe/Paris"

-version 显示模拟器的版本号.  
UI -dpi-device <dpi> 根据物理设备的屏幕大小,模拟器以分片解决匹配问题. The default value is 165. See also -scale.
-no-boot-anim 禁用开机动画在模拟器启动. 禁用开机动画可以加速启动模拟器.
-no-window 禁用模拟器的图形显示窗口.  
-scale <scale> Scale the emulator window. <scale> 是一种介于0.1和3个代表理想的比例因子。您可以   还指定规模作为一个DPI值如果您新增的后缀“dpi”的规模价值。值“auto”   讲述了模拟器选择最好的窗口大小.
-raw-keys 禁用的Unicode键盘反向映射.  
-noskin 不使用任何模拟器皮肤.  
-keyset <file> 使用指定的索引键文件,而不是默认. 该文件定义索引键的名单主要绑定在仿真器和主机键盘之间。   欲了解更多信息,使用-help-keyset打印有关该主题.
-onion <image> 使用重叠的图像画面. 不支持JPEG格式。只有PNG是支持的.
-onion-alpha <percent> 指定洋葱皮肤的半透明值(如百分之). 默认值是50.
-onion-rotation <position> 指定洋葱皮肤的翻转. <position> 必须在以下值:0, 1, 2, 3 之间.
-skin <skinID> 启动模拟器并指定的某种皮肤. SDK 包含了 四种皮肤选择:
  • HVGA-L (480x320, 风景)
  • HVGA-P (320x480, 画像) (default)
  • QVGA-L (320x240, 风景)
  • QVGA-P (240x320, 画像)
  • -skindir <dir> 搜索模拟器皮肤 <dir>.