Android 模拟器工具介绍
前面的小节我们学习了 Android SDK 平台工具。本小节我们学习 Android 模拟器工具。
1. 概述
Android 模拟器工具位于以下位置:android_sdk/emulator/
主要的命令行工具有如下这些:
-
emulator
一种基于 QEMU 的设备模拟工具,可用于在实际的 Android 运行时环境中调试和测试应用。 -
mksdcard
可帮助我们创建可与模拟器一起使用的磁盘映像,以模拟存在外部存储卡(例如 SD 卡)的情形。
2. emulator
2.1 语法
- 查看 AVD 名称列表
emulator -list-avds
- 启动模拟器
emulator -avd avd_name [ {-option [value]} … ]
- 列出所有模拟器选项
emulator -help
- 获取有关特定选项的详细帮助
emulator -help-option
例如:
emulator -help-netspeed
- 列出模拟器环境变量
emulator -help-environment
- 列出调试标记
emulator -help-debug-tags
2.2 命令选项
- 常用选项
命令选项 | 说明 |
---|---|
-no-snapshot-load | 执行冷启动,并在退出时保存模拟器状态。 |
-no-snapshot-save | 执行快速启动,但在退出时不保存模拟器状态。 |
-no-snapshot | 彻底停用快速启动功能。 |
-camera-back -camera-front |
设置后置或前置相机的模拟模式。 emulated:模拟器在软件中模拟相机。 webcamn:模拟器使用连接到开发计算机的摄像头,由数字指定,例如 webcam0。 none:在虚拟设备中停用相机。 |
-webcam-list | 列出开发计算机上可用于模拟的摄像头。 |
-memory | 指定物理 RAM 大小,范围为从 128 MB 到 4096 MB。 |
-sdcard | 指定 SD 卡分区映像文件的文件名和路径。 |
-wipe-data | 删除用户数据并从初始数据文件中复制数据。 |
-debug | 启用或停用一个或多个标记的调试消息显示。 |
-logcat | 启用一个或多个标记的 logcat 消息显示,并将其写入终端窗口。 |
-show-kernel | 在终端窗口中显示内核调试消息。 |
-verbose | 将模拟器初始化消息输出到终端窗口。 |
-dns-server | 使用指定的 DNS 服务器。 |
-http-proxy | 通过指定的 HTTP/HTTPS 代理进行所有 TCP 连接。 |
-netdelay | 模拟设置网络延迟 |
-netfast | 停用网络节流功能。 |
-netspeed | 设置网络速度模拟。 |
-port | 设置用于控制台和 adb 的 TCP 端口号。 |
-tcpdump | 捕获网络数据包并将其存储在文件中。 |
-accel | 配置模拟器虚拟机加速。 |
-accel-check | 检查是否已安装模拟器虚拟机加速所需的管理程序(HAXM 或 KVM)。 |
-engine | 指定模拟器引擎: auto:自动选择引擎(默认值)。 classic:使用较旧的 QEMU 1 引擎。 qemu2:使用较新的 QEMU 2 引擎。 |
-gpu | 选择 GPU 模拟模式。 |
-version | 显示模拟器版本号。 |
-no-boot-anim | 在模拟器启动期间停用启动动画以加快启动速度。 |
-screen | 设置模拟触摸屏模式。 touch:模拟触摸屏(默认值)。 multi-touch:模拟多点触控屏幕。 no-touch:停用触摸屏和多点触控屏幕模拟。 |
- 高级选项
命令选项 | 说明 |
---|---|
-bootchart | 启用 bootchart,设有超时(以秒为单位)。 |
-cache | 指定缓存分区映像文件。 |
-cache-size | 设置缓存分区大小(以 MB 为单位)。 |
-data | 设置用户数据分区映像文件。 |
-datadir | 使用绝对路径指定数据目录。 |
-force-32bit | 在 64 位平台上使用 32 位模拟器。 |
-help-disk-images | 获取有关磁盘映像的帮助。 |
-help-char-devices | 获取有关字符 device 规范的帮助。 |
-help-sdk-images | 获取与应用开发者相关的磁盘映像的帮助。 |
-help-build-images | 获取与平台开发者相关的磁盘映像的帮助。 |
-initdata | 指定数据分区的初始版本。 |
-kernel | 使用特定的模拟内核。 |
-noaudio | 停用对此虚拟设备的音频支持。 |
-nocache | 启动没有缓存分区的模拟器。 |
-no-snapshot | 禁止自动加载和保存操作。 |
-no-snapshot-load | 阻止模拟器从快照存储加载 AVD 状态。 |
-no-snapshot-save | 阻止模拟器在退出时将 AVD 状态保存到快照。 |
-no-window | 停用模拟器上的图形窗口显示。 |
-partition-size | 指定系统数据分区大小(以 MB 为单位)。 |
-prop | 在启动时在模拟器中设置 Android 系统属性。 |
-ramdisk | 指定 ramdisk 启动映像。 |
-shell | 在当前终端上创建根 shell 控制台。 |
-sysdir | 使用绝对路径指定系统目录。 |
-system | 指定初始系统文件。 |
-writable-system | 使用此选项在模拟会话期间创建可写系统映像。 |
3. mksdcard
我们可以使用 mksdcard 工具创建 FAT32 磁盘映像,然后将该映像加载到运行不同 Android 虚拟设备 (AVD) 的模拟器中,以模拟多个设备中存在相同 SD 卡的情形。
3.1 语法
mksdcard -l label size file
以下示例创建 mySdCardFile.img 磁盘映像:
mksdcard -l mySdCard 1024M mySdCardFile.img
启动两个运行不同 AVD 的模拟器。使用 -sdcard 标记来指定我们创建的磁盘映像的名称和路径:
emulator -avd Pixel_API_25 -sdcard mySdCardFile.img
emulator -avd NEXUS_6_API_25 -sdcard mySdCardFile.img
3.2 命令选项
命令选项 | 说明 |
---|---|
-l | 指定要创建的磁盘映像的卷标。 |
size | 一个整数,用于指定要创建的磁盘映像的大小。 |
file | 指定要创建的磁盘映像的路径/文件名。此路径相对于当前的工作目录指定。 |
4. 小结
本节课程我们主要学习了 Android 模拟器工具。本节课程的重点如下:
- 掌握如何使用 Android 模拟器工具。