Android 虛擬裝置 (AVD) 是一種設定,可根據您想在 Android Emulator 中模擬的 Android 手機、平板電腦、Wear OS、Android TV 或 Automotive OS 裝置,定義相應特徵。裝置管理工具則是可從 Android Studio 啟動的工具,有助於建立及管理 AVD。
如要開啟全新的裝置管理工具,請採用下列其中一種做法:
- 在 Android Studio 歡迎畫面中,依序選取「More Actions」圖示 >「Virtual Device Manager」。
- 開啟專案後,在主選單列中依序選取「View」>「Tool Windows」>「Device Manager」,然後按一下 +,再按一下「Create Virtual Device」。
建立裝置後,您可以在裝置管理員面板上查看所有裝置的清單。
如果想透過可擴充及自行管理的方式,運用虛擬裝置執行自動化檢測設備測試,可考慮使用 Gradle 管理的裝置。
關於 AVD
AVD 包含硬體設定檔、系統映像檔、儲存空間區域、外觀和其他屬性。
建議您根據資訊清單中的 <uses-sdk>
設定,為您應用程式可能支援的每個系統映像檔建立 AVD。
硬體設定檔
裝置從工廠出貨時的配置,可以在硬體設定檔找到。裝置管理工具已預先載入了特定硬體設定檔 (例如 Pixel 裝置),您可以視需求定義或自訂這類設定檔。
如果裝置定義在「Play Store」一欄列出 Google Play 標誌,就表示包含 Google Play 商店應用程式和 Google Play 服務存取權,而且「Extended controls」對話方塊中也會顯示「Google Play」分頁,當中提供的便利按鈕可用於更新裝置上的 Google Play 服務。
裝置如有此標誌「且」類型為「手機」,也就符合 CTS 規範,因此可能會使用內含 Play 商店應用程式的系統映像檔。
系統映像檔
標有 Google API 的系統映像檔包含 Google Play 服務存取權。
「Recommended」分頁會列出建議的系統映像檔,其他分頁則含有更完整的清單。右側窗格中會顯示所選系統映像檔的說明。
如果系統映像檔旁邊出現下載圖示,代表您的開發機器目前未安裝該映像檔。如要下載系統映像檔,請按一下這個圖示。您必須連上網際網路,才能下載系統映像檔。
目標裝置的 API 級別相當重要。在應用程式資訊清單檔案內,有個 minSdk
屬性會指定應用程式所需的級別,若系統映像檔的 API 級別低於此,應用程式就無法執行。如要進一步瞭解系統 API 級別與 minSdk
的關係,請參閱「管理應用程式版本」。
如果應用程式在資訊清單檔案中宣告 <uses-library>
元素,就需要內含外部程式庫的系統映像檔。如要在模擬器中執行應用程式,請建立一個含有必要程式庫的 AVD。為此,您可能需要使用 AVD 平台的外掛程式元件,例如包含 Google 地圖程式庫的 Google API 外掛程式。
為了確保應用程式安全性並提供與實體裝置一致的體驗,內含 Google Play 商店的系統映像檔會使用發布金鑰進行簽署,這表示您無法透過這些映像檔取得進階 (根層級) 權限。
如果您需要進階 (根層級) 權限來協助排解應用程式問題,可以使用不含 Google 應用程式或服務的 Android 開放原始碼計畫 (AOSP) 系統映像檔。這樣一來,就能使用 adb root
和 adb unroot
指令切換一般權限與進階權限:
% adb shell emu64a:/ $ emu64a:/ $ exit % adb root restarting adbd as root % adb shell emu64a:/ # emu64a:/ # exit % adb unroot restarting adbd as non root % adb shell emu64a:/ $ emu64a:/ $ exit %
儲存空間區域
AVD 在開發機器上設有專屬儲存空間區域,用於存放裝置使用者資料,例如已安裝的應用程式和設定,以及模擬的 SD 卡。如有需要,您可以使用裝置管理工具抹除使用者資料,讓裝置只包含新裝置會有的資料。
外觀
模擬器外觀可指定裝置的外觀。裝置管理工具會提供部分預先定義的外觀。您也可以定義個人專用的外觀,或是使用第三方提供的外觀。
AVD 和應用程式功能
請確認您的 AVD 定義包含應用程式所需的裝置功能。如需可在 AVD 中定義的功能清單,請參閱「硬體設定檔屬性」和「AVD 屬性」一節。
建立 AVD
如何建立新的 AVD:
- 開啟裝置管理工具。
- 按一下「Create Device」。
畫面上會顯示「Select Hardware」視窗。
請注意,只有部分硬體設定檔包含 Play 商店。這些設定檔已完全符合 CTS 規範,可能會使用內含 Play 商店應用程式的系統映像檔。
- 選取硬體設定檔,然後按一下「Next」。
如果找不到所需的硬體設定檔,可以按照本頁其他章節的說明建立或匯入硬體設定檔。
畫面上會顯示「System Image」視窗。
- 選取特定 API 級別的系統映像檔,然後點選「Next」。
- 視需要變更 AVD 屬性,然後按一下「Finish」。
按一下「Show Advanced Settings」,查看外觀等其他設定。
畫面上會顯示「Verify Configuration」視窗。
新的 AVD 會顯示在裝置管理工具的「Virtual」分頁,也會列於目標裝置選單中。
如何從副本建立 AVD:
- 在裝置管理工具的「Virtual」分頁中點選「Menu」圖示 ,然後選取「Duplicate」。
畫面上會顯示「Verify Configuration」視窗。
- 如需在「System Image」或「Select Hardware」視窗中進行變更,請按一下「Previous」。
- 進行所需變更,然後按一下「Finish」。
AVD 會顯示在裝置管理工具的「Virtual」分頁。
建立硬體設定檔
裝置管理工具為常見裝置提供了預先定義的硬體設定檔,方便您將這些設定檔新增至 AVD 定義。如需定義其他裝置,可以建立新的硬體設定檔。
您可以從頭開始定義新的硬體設定檔,也可以從複製硬體設定檔著手。不過,您無法編輯預先載入的硬體設定檔。
如何從頭開始建立新的硬體設定檔:
- 在「Select Hardware」視窗中,按一下「New Hardware Profile」。
在「Configure Hardware Profile」視窗中,視需要變更硬體設定檔屬性。
- 按一下「Finish」。
新的硬體設定檔會顯示在「Select Hardware」視窗中。您可以點選「Next」建立使用這個硬體設定檔的 AVD,也可以按一下「Cancel」返回「Virtual」分頁或目標裝置選單。
如何從副本著手建立硬體設定檔:
- 在「Select Hardware」視窗中選取硬體設定檔,然後按一下「Clone Device」。您也可以在硬體設定檔上按一下滑鼠右鍵,接著選取「Clone」。
- 在「Configure Hardware Profile」視窗中,視需要變更硬體設定檔屬性。
- 按一下「Finish」。
新的硬體設定檔會顯示在「Select Hardware」視窗中。您可以點選「Next」建立使用這個硬體設定檔的 AVD,也可以按一下「Cancel」返回「Virtual」分頁或目標裝置選單。
編輯現有的 AVD
在裝置管理工具的「Virtual」分頁中,您可以對 AVD 執行下列作業:
- 如要編輯 AVD,請按一下「Edit this AVD」圖示 ,然後進行變更。
- 如要刪除 AVD,請按一下「Menu」圖示 ,然後選取「Delete」。
- 如要顯示磁碟中相關聯的 AVD INI 和 IMG 檔案,請按一下「Menu」圖示 ,然後選取「Show on Disk」。
- 如要查看 AVD 設定詳細資料 (可附加至提供給 Android Studio 團隊的錯誤報告),請按一下「Menu」圖示 ,然後選取「View Details」。
編輯現有的硬體設定檔
您無法編輯或刪除預先載入的硬體設定檔,但可以在「Select Hardware」視窗中對其他硬體設定檔執行下列作業:
- 如要編輯硬體設定檔,請選取所需設定檔,然後按一下「Edit Device」。您也可以在硬體設定檔上按一下滑鼠右鍵,選取「Edit」,接著就能進行變更。
- 如要刪除硬體設定檔,請在該設定檔上按一下滑鼠右鍵,然後選取「Delete」。
執行及停止模擬器,並清除資料
透過「Virtual」分頁,您可以在模擬器中執行下列作業:
- 如要執行使用 AVD 的模擬器,請按一下「Launch」圖示 。
- 如要停止執行中的模擬器,請按一下「Menu」圖示 ,然後選取「Stop」。
- 如要清除模擬器資料,請按一下「Menu」圖示 ,然後選取「Wipe Data」。
匯入及匯出硬體設定檔
您可以在「Select Hardware」視窗中匯入及匯出硬體設定檔,方法如下:
- 如要匯入硬體設定檔,請按一下「Import Hardware Profiles」,然後在電腦中選取內含定義的 XML 檔案。
- 如要匯出硬體設定檔,請在該設定檔上按一下滑鼠右鍵,然後選取「Export」,並指定要將內含定義的 XML 檔案儲存在哪個位置。
AVD 屬性
AVD 設定會指定開發電腦與模擬器的互動方式,以及您想在硬體設定檔中覆寫的屬性。您可以在「Verify Configuration」視窗中指定 AVD 設定的下列屬性。下表中有些屬性標有「(進階)」字樣,您必須點選「Show Advanced Settings」才會看到這些屬性。
AVD 設定屬性會覆寫硬體設定檔屬性,而您在模擬器執行期間設定的模擬器屬性,則會覆寫 AVD 設定與硬體設定檔的屬性。
AVD 屬性 | 說明 |
---|---|
AVD Name | 輸入 AVD 名稱。名稱可以包含大寫或小寫英文字母、數字、半形句號、底線、括號、破折號和空格。儲存 AVD 設定的檔案名稱是由 AVD 名稱衍生而來。 |
AVD ID (進階) | 查看 AVD ID。AVD ID 是由 AVD 名稱衍生而來。您可以使用這個 ID,透過指令列參照 AVD。 |
Hardware Profile | 按一下「Change」,從「Select Hardware」視窗中選取其他硬體設定檔。 |
System Image | 按一下「Change」,從「System Image」視窗中選取其他系統映像檔。您必須連上網際網路,才能下載新映像檔。 |
Startup orientation | 選取初始模擬器螢幕方向的選項:
只有硬體設定檔中支援的選項才會啟用。在模擬器中執行 AVD 時,如果硬體設定檔一併支援直向和橫向選項,您就可以變更螢幕方向。 |
Camera (進階) | 為所有已啟用的相機選擇選項。Emulated 和 VirtualScene 設定會產生軟體生成的映像檔,而 Webcam 設定則會使用開發電腦的網路攝影機拍照。 只有在硬體設定檔支援相機時,才能選擇相機選項。這些選項不適用於 Wear OS、Android TV 或 Google TV。 |
Network:Speed (進階) | 選取網路通訊協定,決定資料移轉速度:
|
Network:Latency (進階) | 選取網路通訊協定,設定通訊協定從某個點轉移資料封包到另一點所需的時間。 |
Emulated Performance:Graphics | 選取在模擬器中算繪圖像的方式:
|
Emulated Performance:Boot option (進階) |
選取 AVD 的啟動方式: |
Emulated Performance︰Multi-Core CPU (進階) | 選取想在電腦上用於模擬器的處理器核心數量。使用更多處理器核心可以加快模擬器運作速度。 |
Memory and Storage︰RAM (進階) | 針對硬體製造商設定的裝置,覆寫 RAM 容量。增加容量大小會占用電腦上的更多資源,但可加快模擬器運作速度。請輸入 RAM 容量大小,然後選擇一個單位:B (位元組)、KB、MB、GB 或 TB。 |
Memory and Storage︰VM Heap (進階) | 覆寫硬體製造商設定的 VM 堆積大小。請輸入堆積大小,然後選擇一個單位:B (位元組)、KB、MB、GB 或 TB。 |
Memory and Storage︰Internal Storage (進階) | 針對硬體製造商設定的裝置,覆寫可用的不可移除記憶體空間容量。請輸入容量大小,然後選擇一個單位:B (位元組)、KB、MB、GB 或 TB。 |
Memory and Storage︰SD Card (進階) | 指定裝置上可用來儲存資料的可移除記憶體空間容量。 如果想使用 Android Studio 管理的虛擬 SD 卡,請選取「Studio-managed」、輸入容量大小,然後選擇一個單位:B (位元組)、KB、MB、GB 或 TB。如要使用相機,建議至少設定 100 MB 容量。 如要管理檔案中的空間,請選取「External file」,然後按一下「…」指定檔案和位置。 |
Device Frame:Enable Device Frame | 選擇啟用能模擬實際裝置外觀的模擬器視窗周圍的邊框。 |
自訂外觀定義 (進階) | 選取外觀,控制裝置在模擬器中呈現的樣貌。如果指定對外觀而言太大的畫面尺寸,系統可能會裁切掉部分畫面,導致您無法看到整個畫面。詳情請參閱「建立模擬器外觀」一節。 |
Keyboard︰Enable Keyboard Input (進階) | 選取這個選項即可使用硬體鍵盤與模擬器互動。系統會針對 Wear OS 和 Android TV 停用此選項。 |
硬體設定檔屬性
您可以在「Configure Hardware Profile」視窗中指定硬體設定檔的下列屬性。AVD 設定屬性會覆寫硬體設定檔屬性,而您在模擬器執行期間設定的模擬器屬性,則會覆寫 AVD 設定與硬體設定檔的屬性。
您無法編輯裝置管理工具隨附的預先定義硬體設定檔,但可以複製設定檔並編輯副本。
針對某些裝置類型,系統會停用部分屬性。舉例來說,「Round」屬性僅適用於 Wear OS 裝置。
硬體設定檔屬性 | 說明 |
---|---|
Device Name | 輸入硬體設定檔的名稱。名稱可以包含大寫或小寫英文字母、數字、半形句號、底線、括號和空格。儲存硬體設定檔的檔案名稱是由硬體設定檔名稱衍生而來。 |
Device Type | 選取下列其中一個選項:
|
Screen:Screen Size | 以對角線長度指定螢幕的實際尺寸,單位為英寸。如果這個尺寸大於電腦螢幕,系統會在啟動時縮減尺寸。 |
Screen:Screen Resolution | 輸入寬度和高度 (以像素為單位),指定模擬畫面上顯示的像素總數。 |
Screen:Round | 如果裝置配備的是圓形螢幕 (例如部分 Wear OS 裝置),請選取此選項。 |
Memory:RAM | 輸入裝置的 RAM 容量大小,然後選擇一個單位:B (位元組)、KB、MB、GB 或 TB。 |
Input:Has Hardware Buttons (Back/Home/Menu) | 如果您的裝置有硬體導覽按鈕,請選取此選項。如果只在軟體中導入這些按鈕,請取消選取。若您選取此選項,畫面上就不會顯示按鈕。無論是哪種情況,您都可以使用模擬器側邊面板,模擬按下按鈕的動作。 |
Input:Has Hardware Keyboard | 如果您的裝置有硬體鍵盤,請選取此選項。如未提供,請取消選取。若您選取此選項,畫面上就不會顯示鍵盤。無論是哪種情況,您都可以使用電腦鍵盤,將按鍵動作傳送至模擬器。 |
Input:Navigation Style | 選取下列其中一個選項:
這些是裝置本身硬體控制項的選項。不過,由外部控制器傳送到裝置的事件並無不同。 |
Supported device states | 選取其中一個選項,或同時選取兩者:
您必須至少選取一個選項。如果同時選取這兩個選項,就能在模擬器中切換螢幕方向。 |
Cameras | 如要啟用相機,請選取下列一或兩個選項:
啟用相機後,您可以根據在 AVD 設定中選取的選項,使用開發機器的網路攝影機或模擬器提供的相片,模擬拍照動作。 |
Sensors:Accelerometer | 如果裝置的硬體可協助判斷螢幕方向,請選取此選項。 |
Sensors:Gyroscope | 如果裝置的硬體可偵測旋轉或扭轉動作,請選取此選項。結合加速計,陀螺儀可以提供更順暢的螢幕方向偵測功能,並支援六軸螢幕方向系統。 |
Sensors:GPS | 如果裝置的硬體支援 GPS (全球定位系統) 衛星導航系統,請選取此選項。 |
Sensors:Proximity Sensor | 如果裝置的硬體可在通話期間偵測到裝置靠近使用者臉部,進而停用畫面上的輸入功能,請選取此選項。 |
Default Skin | 選取外觀,控制裝置在模擬器中呈現的樣貌。如果指定的畫面尺寸對解析度而言太大,系統可能會裁切掉部分畫面,導致您無法看到整個畫面。詳情請參閱「建立模擬器外觀」一節。 |
建立模擬器外觀
Android 模擬器外觀是一組檔案,用於定義模擬器顯示畫面的視覺元素和控制元素。如果 AVD 設定中提供的外觀定義不符合需求,您可以自行建立自訂外觀定義,然後套用到 AVD。
所有模擬器外觀都包含:
- 一個
hardware.ini
檔案 - 版面配置檔案,用於支援的螢幕方向和實體設定
- 背景、按鍵和按鈕等顯示元素的圖片檔
如何建立及使用自訂外觀:
- 建立用來儲存外觀設定檔的目錄。
- 在名為
layout
的文字檔中定義外觀的視覺樣貌。此檔案定義了外觀的許多特徵,例如特定按鈕的尺寸和圖片素材資源,如下所示:parts { device { display { width 320 height 480 x 0 y 0 } } portrait { background { image background_port.png } buttons { power { image button_vertical.png x 1229 y 616 } } } ... }
- 將裝置圖片的點陣圖檔案新增至同一個目錄。
- 在裝置設定的 INI 檔案中,指定額外的硬體專屬裝置設定,例如
hw.keyboard
和hw.lcd.density
。 - 封存外觀資料夾中的檔案,然後選取封存檔案做為自訂外觀。
如要進一步瞭解如何建立模擬器外觀,請參閱工具原始碼中的 Android Emulator 外觀檔案規格。