使用 Android Emulator 虛擬裝置

您可以使用 Android Emulator 建立 Android 裝置的模擬作業 執行專屬於您的自訂 Android 系統映像檔於 此外,您可以在 Android Emulator 中加入多螢幕支援功能 模擬。

Android Emulator 架構

Android Emulator 可讓您在 Android Emulator 上執行 Android 作業系統。 安裝於名為 Android 虛擬裝置 (AVD) 的虛擬機器中。每個 AVD 包含 Android 軟體堆疊,即以正常方式運作 使用的是實體裝置圖 1 說明 Android Emulator 整體架構如要進一步瞭解模擬器,請參閱 在 Android Emulator 上執行應用程式

Android Emulator 架構。

圖 1. Android Emulator 架構。

建構 AVD 映像檔

每個 AVD 都包含一個 Android 系統映像檔,該映像檔會在 該 AVD。AVD Manager 內含部分系統映像檔。您也可以建立自訂報表 來自原始碼的 AVD 系統映像檔,並建立要執行的裝置模擬作業 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件

如要建構及執行 AVD 系統映像檔,請按照下列步驟操作:

  1. 下載 Android 原始碼:

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

如要建構其他 Android 版本,您可以在 公開 Android 存放區。 這些都會對應至 Android 產品代號、標記和版本號碼

  1. 建構 AVD 系統映像檔。這與建立 Android 裝置系統 圖片。舉例來說,如要建構 x86 64 位元 AVD,請按照下列步驟操作:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
    
  2. 在 Android Emulator 中執行 AVD 系統映像檔:

    emulator
    

詳情請見 指令列啟動選項 進一步瞭解如何執行模擬器。圖 2 為 執行 AVD 的 Android Emulator:

執行 AVD 的 Android Emulator。

圖 2. 執行 AVD 的 Android Emulator。

分享 AVD 系統映像檔讓他人與 Android Studio 搭配使用

請按照下列操作說明,與他人分享 AVD 系統映像檔。他們可以 透過 Android 使用 AVD 系統映像檔 開發及測試應用程式的工作室

  1. 建立額外的 sdksdk_repo 套件:

    如果是 Android 13 以上版本,請使用 emu_img_zip 指令:

    $ make emu_img_zip
    

    這會產生 sdk-repo-linux-system-images-eng.[username]].zip 檔案。

    如果是 Android 12 以下版本,請使用 sdk_repo 指令:

    $ make -j32 sdk sdk_repo
    

    make sdk sdk_repo 指令會在以下位置建立兩個檔案: aosp-main/out/host/linux-x86/sdk/sdk_phone_x86

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. 代管「sdk-repo-linux-system-images-eng.[username].zip」檔案 並在使用者能存取的位置取得網址,做為 AVD 使用 系統映像檔網址

  3. 如果是 Android 12 以下版本,請據此編輯 repo-sys-img.xml

    • <sdk:url> 更新為 AVD 系統映像檔網址
    • 詳情請見 sdk-sys-img-03.xsd ,瞭解檔案的其他更新。
    • repo-sys-img.xml 託管於使用者可存取的位置,並可存取 做為自訂更新網站網址使用的網址。

如要使用自訂 AVD 映像檔,請在 SDK Manager 中執行以下操作:

  1. 新增自訂更新網站網址做為 SDK 更新網站

    這項操作會將自訂 AVD 系統映像檔新增至「System Image」頁面。

  2. 建立 AVD 下載並選取自訂 AVD 系統映像檔。

新增多螢幕支援功能

Android 10 強化多螢幕功能 ,以進一步支援更多用途,例如自動和桌面模式。Android 版 模擬器也支援多螢幕模擬功能。您可以建立 不必設定實體硬體。

如要為 AVD 新增多螢幕支援功能,請進行下列變更或 依櫻桃從 這類 CL

  • 在檔案中加入以下幾行程式碼,即可將多螢幕供應器新增至建構作業 build/target/product/sdk_phone_x86.mk:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • 將這一行加入檔案,啟用多顯示功能標記 device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

您可以在以下網址找到最新的模擬器功能和版本資訊: 下列來源: