除了使用基本觸控螢幕手勢和手機動作以外,您在虛擬裝置上可能還需要透過別種方式測試應用程式。例如,您可能要模擬不同位置或網路狀況。本頁將說明進階模擬器功能,以及透過 Android Studio 啟動模擬器的不同方式。
本章節其他頁面會介紹更多使用模擬器的進階方式,而這需要透過終端機執行。這類特殊用途包括:
- 如果您不是使用 Android Studio,可以透過指令列啟動模擬器。
- 如要測試指紋驗證等功能或變更虛擬裝置的電池狀態,可以傳送模擬器主控台指令。
- 如果希望有兩個模擬器執行個體可以彼此通訊,或想設定其他複雜的網路架構,可以設定模擬器網路。
對大多數應用程式開發人員來說,基本模擬器操作功能和本頁所述功能就已涵蓋測試需求。如要根據互動方式並列比較模擬器功能,請參閱模擬器功能比較。
螢幕截圖
如要擷取虛擬裝置的螢幕截圖,請按一下「Take screenshot」按鈕 。
在隨即顯示的「Screen Capture」對話方塊中,您可以編輯及複製已拍攝的圖片,也可以重新拍攝圖片。確認圖片正確無誤後,按一下「Save」。模擬器會使用拍攝時間的年、月、日、時、分和秒建立名為 Screenshot_yyyymmdd-hhmmss.png
的 PNG 檔案,您可以視需要變更名稱,並選擇檔案儲存位置。
您也可以透過指令列,使用下列任一指令擷取螢幕截圖:
screenrecord screenshot [destination-directory]
adb emu screenrecord screenshot [destination-directory]
錄製螢幕畫面
您可以透過 Android Emulator 錄製視訊和音訊,並將錄製內容儲存成 WebM 或 GIF 動畫檔案。
螢幕錄影控制項位於「Extended controls」視窗的「Record and Playback」分頁中。
提示:按下 Control + Shift + R 鍵 (在 macOS 上為 Command + Shift + R 鍵),即可開啟螢幕錄影控制項。
如要開始錄製螢幕畫面,請在「Record and Playback」分頁中按一下「Start recording」按鈕。如要停止錄影,請按一下「Stop recording」。
播放及儲存錄製影片的控制項位於「Record and Playback」分頁底部。如要儲存影片,請從該分頁底部的選單中選擇「WebM」或「GIF」,然後按一下「Save」。
您也可以在指令列中使用下方的指令錄製並儲存模擬器的螢幕錄影畫面:
adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm
相機支援
模擬器可支援舊版 Android 虛擬裝置的基本相機功能。至於 Android 11 以上版本,Android Emulator 則額外支援下列相機功能:
- RAW 擷取
- YUV 重新處理
- 等級 3 裝置
- 邏輯相機支援
- 使用感應器管理工具的資料來模擬感應器方向
- 透過降低手震頻率套用影片防震功能
- 移除通常在 YUV 管道中進行的升頻作業,套用邊緣強化功能
- 同步相機
虛擬場景相機和 ARCore
您可以在虛擬環境中使用虛擬場景相機,對使用 ARCore 建構的擴增實境 (AR) 應用程式進行實驗。
想進一步瞭解如何在模擬器中使用虛擬場景相機,請參閱「在 Android Emulator 中執行 AR 應用程式」一文。
透過模擬器操作相機應用程式時,您可以匯入要用於虛擬場景的 PNG 或 JPEG 格式圖片。如要選擇使用於虛擬場景的圖片,請開啟「Extended controls」視窗,依序選取「Camera」>「Virtual scene images」分頁,然後按一下「Add image」。這項功能可用來匯入自訂圖片 (例如 QR code),與任何相機應用程式搭配使用。詳情請參閱「將擴增圖片加到場景中」相關說明。
使用巨集測試常見的 AR 操作
只要使用模擬器中的預設巨集,即可大幅減少測試常見 AR 操作所需的時間。舉例來說,您可以使用巨集將裝置的所有感應器重設為預設狀態。
使用巨集前,請按照「在 Android Emulator 中執行 AR 應用程式」一文所述步驟為應用程式設定虛擬場景相機、在模擬器中執行應用程式,並更新 ARCore。接著,再按照下列步驟使用模擬器巨集:
- 執行模擬器並將應用程式連線至 ARCore,然後按一下模擬器面板中的「More」圖示
。
- 依序選取「Record and Playback」>「Macro Playback」。
選擇要使用的巨集,然後按一下「Play」。
在播放過程中,按一下「Stop」即可中斷巨集。
在獨立視窗中啟動模擬器
根據預設,Android Emulator 會直接在 Android Studio 中執行。這可讓您有效地運用螢幕空間、利用快速鍵在模擬器和編輯器視窗之間快速瀏覽,以及將 IDE 和模擬器工作流程彙整到單一應用程式視窗。
但是,部分模擬器功能只有在獨立視窗中執行時才能使用。如要在獨立視窗中啟動模擬器,請依序點選「File」>「Settings」>「Tools」>「Emulator」(在 macOS 上為「Android Studio」>「Preferences」>「Tools」>「Emulator」),然後取消選取「Launch in a tool window」。
擴充控制項、設定和說明
您可以使用擴充控制項來傳送資料、變更裝置屬性、控管應用程式等。如要開啟「Extended controls」視窗,請按一下模擬器面板中的「More」圖示 。請注意,部分擴充控制項選項只有在 Android Studio 以外的獨立視窗中執行模擬器時才能使用。
許多這類工作都能透過鍵盤快速鍵執行。如需完整的模擬器快速鍵清單,請按下 F1 鍵 (在 macOS 上為 Command + / 鍵) 開啟「Help」窗格。
表 1. 擴充控制項詳細資料
功能 | 說明 |
---|---|
定位服務 |
模擬器可讓您模擬「我的位置」資訊,也就是模擬裝置的所在位置。舉例來說,如果您在 Google 地圖中按一下「我的位置」圖示 裝置的位置資訊控制項位於「Single points」和「Routes」這兩個分頁中。 Single points 您可以在「Single points」分頁中使用 Google 地圖 WebView 尋找搜尋點,就像透過手機或瀏覽器使用 Google 地圖一樣。在地圖中搜尋 (或點選) 某個地點後,只要選取地圖底部的「Save point」即可儲存該地點。所有儲存的地點都會列在「Extended controls」視窗的右側。 如要將模擬器的位置設為您在地圖上選取的位置,請按一下「Extended Controls」視窗右下角的「Set location」按鈕。 Routes 與「Single points」分頁類似,「Routes」分頁會提供 Google 地圖 WebView,讓您可以在兩個以上的地點之間建立路線。如要建立並儲存路線,請按照下列步驟操作:
如要讓模擬器模擬您儲存的路線,請從「Saved routes」清單中選取這個路線,然後按一下「Extended controls」視窗右下角附近的「Play route」。如要停止模擬,請按一下「Stop route」。 如要讓模擬器持續模擬指定路線,請將「Repeat playback」旁的切換鈕設為開啟。如要變更模擬器模擬指定路線的速度,請從「Playback speed」選單中選取所需選項。 匯入 GPX 和 KML 資料 如何使用 GPS 交換格式 (GPX) 或 Keyhole 標記語言 (KML) 檔案的地理資料:
速度的預設值為「Delay」(Speed 1X)。您可以將速度提升為兩倍 (Speed 2X)、三倍 (Speed 3X) 等,以此類推。 |
螢幕 |
模擬器可讓您將應用程式部署到多個螢幕。這項功能支援可自訂螢幕尺寸,協助您測試支援多視窗和多螢幕模式的應用程式。在虛擬裝置運作時,您最多可以新增兩個額外的螢幕,步驟如下:
|
行動網路 | 模擬器可讓您模擬各種網路連線狀況。您可以根據不同網路通訊協定設定概略的網路速度,或指定「Full」(全速) 以電腦允許的最高速度傳輸資料。指定網路通訊協定的速度一律會低於「Full」(全速) 的速度。您也可以指定語音通話和數據網路狀態 (例如漫遊)。預設值可在 AVD 中進行設定。 選取「Network type」:
選取「Signal strength」:
選取「Voice status」和/或「Data status」:
|
電池 | 您可以模擬裝置的電池屬性,瞭解應用程式在不同條件下的執行效能。如要選取「Charge level」,請使用滑桿控制項。 選取「Charger connection」的值:
選取「Battery health」(電池壽命) 的值:
選取「Battery status」的值:
|
相機 | 開啟模擬器相機時,可以在模擬場景中載入圖片。詳情請參閱 ARCore 說明文件中的「將擴增圖片加到場景中」相關說明。 |
手機 | 模擬器可讓您模擬來電和簡訊。 如何撥號給模擬器:
如何傳送簡訊給模擬器:
|
Directional Pad (方向鍵) | 如果您已在硬體設定檔中為 AVD 啟用方向鍵,就能在模擬器中使用方向鍵控制項。不過,並非所有裝置都支援方向鍵,例如 Android 手錶就未提供支援。 這些按鈕會模擬下列操作: ![]() |
麥克風 | 模擬器會在「Virtual microphone uses host audio input」開啟時接收主機麥克風的音訊輸入;否則模擬器不會接收任何音訊輸入。目前並未實作「Virtual headset plug inserted」、「Virtual headset has microphone」和「Voice Assist」選項。 |
指紋 | 這個控制項可模擬 10 種不同的指紋掃描。您可以使用這個控制項測試應用程式中的指紋整合功能。Android 5.1 (API 級別 22) 以下版本以及 Wear OS 已停用這項功能。 如何在虛擬裝置上模擬指紋掃描:
|
「Virtual sensors」>「Device Pose」 |
這個控制項可讓您根據裝置位置、方向或兩者的變化測試應用程式的反應。舉例來說,您可以模擬傾斜和旋轉等手勢。加速計不會追蹤裝置的絕對位置,只會偵測發生變更的情況。這個控制項可模擬加速計和磁力儀感應器在您移動或旋轉實際裝置時產生的回應。 您必須在 AVD 中啟用加速計感應器,才能使用這個控制項。 這個控制項會以 X 軸、Y 軸和 Z 軸的值回報 這個控制項也會回報 如要以 x 軸、y 軸和 z 軸為中心旋轉裝置,請選取「Rotate」,並執行下列任一操作:
如要進一步瞭解 Yaw、Pitch 和 Roll 值的計算方式,請參閱「計算裝置的螢幕方向」相關說明。 如要水平 (x) 或垂直 (y) 移動裝置,請選取「Move」,並執行下列任一操作:
如何將裝置定位在 0 度、90 度、180 度或 270 度的位置:
當您調整裝置時,「Resulting values」欄位也會隨之變更,而相關數值可供應用程式存取。 |
「Virtual sensors」>「Additional sensors」 | 模擬器可模擬各種位置感應器和環境感應器。您可以調整下列感應器,使用應用程式進行測試:
|
錯誤報告 | 如果您遇到模擬器相關問題,可以準備並傳送錯誤報告。模擬器會自動為錯誤報告收集螢幕截圖、記錄和其他資料。 |
錄製與播放 | 請參閱「錄製螢幕畫面」相關說明。 |
Google Play | 如果 AVD 系統映像檔包含 Play 商店應用程式,這項功能會顯示 Google Play 服務版本資訊。 |
「Settings」>「General」 |
|
「Settings」>「Proxy」 | 根據預設,模擬器會使用 Android Studio HTTP Proxy 設定。這個畫面可讓您手動為模擬器定義 HTTP Proxy 設定。詳情請參閱「將模擬器與 Proxy 搭配使用」相關說明。 |
「Settings」>「Advanced」 |
|
Help > Keyboard Shortcuts | 這個窗格提供模擬器的鍵盤快速鍵完整清單。如要在模擬器中開啟這個窗格,請按下 F1 鍵 (在 macOS 上為 Command + / 鍵)。 您必須將「General」設定窗格中的「Send keyboard shortcuts」選項設為「Emulator controls (default)」,快速鍵才能正常運作。 |
「Help」>「Emulator Help」 | 如要前往模擬器的線上說明文件,請按一下「Documentation」。 如要回報模擬器的錯誤,請按一下「Send feedback」。詳情請參閱如何回報模擬器錯誤相關說明。 |
「Help」>「About」 | 查看模擬器使用的是哪一個 模擬器序號為 emulator-adb_port。舉例來說,您可以將序號指定為 |
在不啟動應用程式的情況下啟動模擬器
有時您可能想要在不執行應用程式的情況下啟動模擬器,例如想查看兩部模擬器裝置在透過藍牙配對時的互動情形。如要在不啟動應用程式的情況下啟動模擬器,請按照下列步驟操作:
- 開啟裝置管理工具。
- 在 AVD 上按兩下,或選取 AVD,然後按一下「Run」圖示
。系統會隨即載入 Android Emulator。
在模擬器執行期間,您可以執行 Android Studio 專案,並選擇模擬器做為目標裝置。您也可以按照下一節所述,在模擬器中安裝一或多個 APK,然後執行這些 APK。
安裝及新增檔案
如果想在模擬器中使用 Google Play 商店未提供的應用程式,可以手動安裝 APK 檔案。如要在模擬裝置上安裝 APK 檔案,請將 APK 檔案拖曳至模擬器畫面中。系統隨即會顯示 APK 安裝程式對話方塊。安裝完成後,應用程式清單就會顯示該應用程式。
如要將檔案新增至模擬裝置,請將檔案拖曳至模擬器螢幕中。系統會將該檔案存放在 /sdcard/Download/
目錄中。您可以在 Android Studio 中使用 Device File Explorer 查看這個檔案,也可以在裝置上使用「下載」或「檔案」應用程式 (視裝置版本而定) 找到該檔案。
快照
「快照」是已儲存的 AVD 映像檔,保留儲存時裝置的完整狀態,包括 OS 設定、應用程式狀態和使用者資料。您可以透過載入快照返回已儲存的系統狀態,無需花時間等待虛擬裝置上的作業系統和應用程式重新啟動,不必費力就能讓應用程式回到您要恢復測試的狀態。藉由載入快照來啟動虛擬裝置,就如同喚醒休眠狀態的實體裝置,而不是從關機狀態啟動裝置。
您可以為每個 AVD 設定一個「Quick Boot」快照以及不限數量的一般快照。
如要充分運用快照,最簡單的方法是使用 Quick Boot 快照功能。系統預設會將每個 AVD 設為在結束時自動儲存 Quick Boot 快照,並在啟動時載入 Quick Boot 快照。
AVD 首次啟動時,必須執行「冷啟動」(就像啟動裝置一樣)。如果您啟用了 Quick Boot,後續的每次啟動都會從指定快照載入,而系統也會還原成該快照中儲存的狀態。
快照功能適用於快照儲存時一併納入的系統映像檔、AVD 設定和模擬器功能。當您對上述任一適用範圍進行變更時,受影響 AVD 的所有快照都會失效。只要對 Android Emulator、系統映像檔或 AVD 設定進行更新,都會一併重設 AVD 的儲存狀態,因此 AVD 必須在您下次啟動時執行冷啟動。
用於儲存、載入及管理快照的多數控制項都位於「Snapshots」窗格的「Snapshots」和「Settings」分頁中。如果您是在 Android Studio 的工具視窗中執行模擬器,「Snapshots」窗格按鈕位於模擬器工具列中。如果您是在 Android Studio 以外的獨立視窗中執行模擬器,則「Snapshots」窗格位於「Extended controls」視窗中。
當您透過指令列啟動模擬器時,也能控管 Quick Boot 選項。
儲存 Quick Boot 快照
您可以指定是否要讓模擬器在關閉時自動儲存快照。如要控制這項行為,請按照下列步驟操作:
- 開啟快照設定。如果模擬器內嵌在 Android Studio 中,請按一下工具列中的「Snapshots」。如果模擬器是在獨立視窗中執行,請開啟「Extended controls」視窗。
- 前往控制項「Snapshots」類別中的「Settings」分頁。
使用「Auto-save current state to Quickboot」選單選取下列任一選項:
Yes:關閉模擬器時一律儲存 AVD 快照。此為預設值。
No:關閉模擬器時不要儲存 AVD 快照。
您選取的設定僅適用於目前開啟的 AVD。在 ADB 離線的情況下 (例如 AVD 仍在啟動中),您無法儲存快照。
儲存一般快照
雖然每個 AVD 只能設定一個 Quick Boot 快照,卻可以設定多個一般快照。
如要儲存一般快照,請開啟「Snapshots」窗格,然後按一下窗格右下角的「Take snapshot」按鈕。
如要編輯所選快照的名稱和說明,請按一下窗格底部的「Edit」按鈕 。
刪除快照
如要手動刪除快照,請開啟「Snapshots」窗格,選取快照並按一下窗格底部的「Delete」按鈕 。
您也可以指定是否在快照失效時 (例如 AVD 設定或模擬器版本變更時),要求模擬器自動刪除快照。根據預設,模擬器會詢問您是否要刪除無效快照。如要變更這項設定,請在「Snapshots」窗格的「Settings」分頁中使用「Delete invalid snapshots」選單。
載入快照
每次要載入快照時,請開啟模擬器的「Snapshots」窗格,選取「Snapshots」類別,然後選擇快照並按一下窗格底部的「Load」按鈕 。
在 Android Studio 3.2 以上版本中,每項裝置設定都含有「Boot option」控制項。這個控制項位於「Virtual Device Configuration」對話方塊的進階設定中。您可以使用這個控制項,指定啟動 AVD 時要載入哪一個快照。
停用 Quick Boot
如要停用 Quick Boot,讓 AVD 一律執行冷啟動,請按照下列步驟操作:
- 依序選取「Tools」>「Device Manager」,然後按一下「Edit this AVD」圖示
。
- 按一下「Show Advanced Settings」,然後向下捲動至「Emulated Performance」。
- 選取「Cold boot」。
單次冷啟動
除了完全停用 Quick Boot 外,您還可以選擇執行一次冷啟動,只要前往「Device Manager」並在 AVD 的選單中點選「Cold Boot Now」即可。
快照的系統需求與疑難排解
- 快照功能不適用於 Android 4.0.4 (API 級別 15) 以下版本。
- 快照功能不適用於 Android 8.0 (API 級別 26) 的 ARM 系統映像檔。
- 如果模擬器無法透過快照啟動,請在「Device Manager」中為 AVD 選取「Cold Boot Now」,然後提交錯誤報告。
- 啟用軟體轉譯功能時,可能會無法使用快照功能。如果快照功能無法運作,請按一下「Device Manager」中的「Edit this AVD」圖示
,然後將「Graphics」變更為「Hardware」或「Automatic」。
- 載入或儲存快照容易佔用大量記憶體。載入或儲存作業啟動後,如果可用 RAM 不足,作業系統可能會將 RAM 內容遷移至硬碟,因而大幅降低運作速度。如果您發現快照載入或儲存速度非常緩慢,可以釋出 RAM 加快運作速度。關閉不必要的應用程式是釋出 RAM 的絕佳方法。
Wi-Fi
使用 API 級別 25 以上的 AVD 時,模擬器會提供模擬 Wi-Fi 存取點 (「AndroidWifi」),Android 也會自動連上該網路。
如要在模擬器中停用 Wi-Fi,請透過指令列參數 -feature -Wifi
執行模擬器。
限制
Android Emulator 不提供下列虛擬硬體:
- 藍牙
- NFC
- SD 卡插入/退出
- 連接裝置的耳機
- USB
Wear OS 的手錶模擬器不提供「總覽 (最近使用的應用程式)」按鈕、D-Pad 和指紋感應器。