Android 模擬器工具介紹
前面的小節(jié)我們學(xué)習(xí)了 Android SDK 平臺工具。本小節(jié)我們學(xué)習(xí) Android 模擬器工具。
1. 概述
Android 模擬器工具位于以下位置:android_sdk/emulator/
主要的命令行工具有如下這些:
-
emulator
一種基于 QEMU 的設(shè)備模擬工具,可用于在實際的 Android 運行時環(huán)境中調(diào)試和測試應(yīng)用。 -
mksdcard
可幫助我們創(chuàng)建可與模擬器一起使用的磁盤映像,以模擬存在外部存儲卡(例如 SD 卡)的情形。
2. emulator
2.1 語法
- 查看 AVD 名稱列表
emulator -list-avds
- 啟動模擬器
emulator -avd avd_name [ {-option [value]} … ]
- 列出所有模擬器選項
emulator -help
- 獲取有關(guān)特定選項的詳細(xì)幫助
emulator -help-option
例如:
emulator -help-netspeed
- 列出模擬器環(huán)境變量
emulator -help-environment
- 列出調(diào)試標(biāo)記
emulator -help-debug-tags
2.2 命令選項
- 常用選項
命令選項 | 說明 |
---|---|
-no-snapshot-load | 執(zhí)行冷啟動,并在退出時保存模擬器狀態(tài)。 |
-no-snapshot-save | 執(zhí)行快速啟動,但在退出時不保存模擬器狀態(tài)。 |
-no-snapshot | 徹底停用快速啟動功能。 |
-camera-back -camera-front |
設(shè)置后置或前置相機的模擬模式。 emulated:模擬器在軟件中模擬相機。 webcamn:模擬器使用連接到開發(fā)計算機的攝像頭,由數(shù)字指定,例如 webcam0。 none:在虛擬設(shè)備中停用相機。 |
-webcam-list | 列出開發(fā)計算機上可用于模擬的攝像頭。 |
-memory | 指定物理 RAM 大小,范圍為從 128 MB 到 4096 MB。 |
-sdcard | 指定 SD 卡分區(qū)映像文件的文件名和路徑。 |
-wipe-data | 刪除用戶數(shù)據(jù)并從初始數(shù)據(jù)文件中復(fù)制數(shù)據(jù)。 |
-debug | 啟用或停用一個或多個標(biāo)記的調(diào)試消息顯示。 |
-logcat | 啟用一個或多個標(biāo)記的 logcat 消息顯示,并將其寫入終端窗口。 |
-show-kernel | 在終端窗口中顯示內(nèi)核調(diào)試消息。 |
-verbose | 將模擬器初始化消息輸出到終端窗口。 |
-dns-server | 使用指定的 DNS 服務(wù)器。 |
-http-proxy | 通過指定的 HTTP/HTTPS 代理進行所有 TCP 連接。 |
-netdelay | 模擬設(shè)置網(wǎng)絡(luò)延遲 |
-netfast | 停用網(wǎng)絡(luò)節(jié)流功能。 |
-netspeed | 設(shè)置網(wǎng)絡(luò)速度模擬。 |
-port | 設(shè)置用于控制臺和 adb 的 TCP 端口號。 |
-tcpdump | 捕獲網(wǎng)絡(luò)數(shù)據(jù)包并將其存儲在文件中。 |
-accel | 配置模擬器虛擬機加速。 |
-accel-check | 檢查是否已安裝模擬器虛擬機加速所需的管理程序(HAXM 或 KVM)。 |
-engine | 指定模擬器引擎: auto:自動選擇引擎(默認(rèn)值)。 classic:使用較舊的 QEMU 1 引擎。 qemu2:使用較新的 QEMU 2 引擎。 |
-gpu | 選擇 GPU 模擬模式。 |
-version | 顯示模擬器版本號。 |
-no-boot-anim | 在模擬器啟動期間停用啟動動畫以加快啟動速度。 |
-screen | 設(shè)置模擬觸摸屏模式。 touch:模擬觸摸屏(默認(rèn)值)。 multi-touch:模擬多點觸控屏幕。 no-touch:停用觸摸屏和多點觸控屏幕模擬。 |
- 高級選項
命令選項 | 說明 |
---|---|
-bootchart | 啟用 bootchart,設(shè)有超時(以秒為單位)。 |
-cache | 指定緩存分區(qū)映像文件。 |
-cache-size | 設(shè)置緩存分區(qū)大?。ㄒ?MB 為單位)。 |
-data | 設(shè)置用戶數(shù)據(jù)分區(qū)映像文件。 |
-datadir | 使用絕對路徑指定數(shù)據(jù)目錄。 |
-force-32bit | 在 64 位平臺上使用 32 位模擬器。 |
-help-disk-images | 獲取有關(guān)磁盤映像的幫助。 |
-help-char-devices | 獲取有關(guān)字符 device 規(guī)范的幫助。 |
-help-sdk-images | 獲取與應(yīng)用開發(fā)者相關(guān)的磁盤映像的幫助。 |
-help-build-images | 獲取與平臺開發(fā)者相關(guān)的磁盤映像的幫助。 |
-initdata | 指定數(shù)據(jù)分區(qū)的初始版本。 |
-kernel | 使用特定的模擬內(nèi)核。 |
-noaudio | 停用對此虛擬設(shè)備的音頻支持。 |
-nocache | 啟動沒有緩存分區(qū)的模擬器。 |
-no-snapshot | 禁止自動加載和保存操作。 |
-no-snapshot-load | 阻止模擬器從快照存儲加載 AVD 狀態(tài)。 |
-no-snapshot-save | 阻止模擬器在退出時將 AVD 狀態(tài)保存到快照。 |
-no-window | 停用模擬器上的圖形窗口顯示。 |
-partition-size | 指定系統(tǒng)數(shù)據(jù)分區(qū)大小(以 MB 為單位)。 |
-prop | 在啟動時在模擬器中設(shè)置 Android 系統(tǒng)屬性。 |
-ramdisk | 指定 ramdisk 啟動映像。 |
-shell | 在當(dāng)前終端上創(chuàng)建根 shell 控制臺。 |
-sysdir | 使用絕對路徑指定系統(tǒng)目錄。 |
-system | 指定初始系統(tǒng)文件。 |
-writable-system | 使用此選項在模擬會話期間創(chuàng)建可寫系統(tǒng)映像。 |
3. mksdcard
我們可以使用 mksdcard 工具創(chuàng)建 FAT32 磁盤映像,然后將該映像加載到運行不同 Android 虛擬設(shè)備 (AVD) 的模擬器中,以模擬多個設(shè)備中存在相同 SD 卡的情形。
3.1 語法
mksdcard -l label size file
以下示例創(chuàng)建 mySdCardFile.img 磁盤映像:
mksdcard -l mySdCard 1024M mySdCardFile.img
啟動兩個運行不同 AVD 的模擬器。使用 -sdcard 標(biāo)記來指定我們創(chuàng)建的磁盤映像的名稱和路徑:
emulator -avd Pixel_API_25 -sdcard mySdCardFile.img
emulator -avd NEXUS_6_API_25 -sdcard mySdCardFile.img
3.2 命令選項
命令選項 | 說明 |
---|---|
-l | 指定要創(chuàng)建的磁盤映像的卷標(biāo)。 |
size | 一個整數(shù),用于指定要創(chuàng)建的磁盤映像的大小。 |
file | 指定要創(chuàng)建的磁盤映像的路徑/文件名。此路徑相對于當(dāng)前的工作目錄指定。 |
4. 小結(jié)
本節(jié)課程我們主要學(xué)習(xí)了 Android 模擬器工具。本節(jié)課程的重點如下:
- 掌握如何使用 Android 模擬器工具。