使用Android模擬器虛擬設備

您可以使用 Android 模擬器建立運行您自己的自訂 Android 系統映像的 Android 裝置的模擬。您還可以共用自訂 Android 系統映像,以便其他人可以執行它們的模擬。此外,您還可以為 Android 模擬器模擬添加多顯示器支援。

Android模擬器架構

Android 模擬器可讓您在 Windows、macOS 或 Linux 電腦上執行 Android 裝置的模擬。 Android 模擬器在稱為 Android 虛擬裝置 (AVD) 的虛擬機器中運行 Android 作業系統。 AVD 包含完整的Android 軟體堆疊,它的運作就像在實體裝置上一樣。圖 1 是 Android 模擬器的高階架構圖。有關模擬器的更多信息,請參閱在 Android 模擬器上運行應用程式

Android模擬器架構

圖 1. Android 模擬器架構

建構 AVD 影像

每個 AVD 都包含一個在該 AVD 中運行的 Android 系統映像。 AVD 管理器包含一些系統映像。您還可以從原始程式碼建立自訂 AVD 系統映像並建立裝置模擬來運行它們。

要建置並運行 AVD 系統映像:

  1. 下載安卓原始碼:

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

    如果您想建立其他 Android 版本,您可以在公共 Android 儲存庫中找到它們的分支名稱。它們會對應到Android 代號、標籤和版本號

  2. 建置 AVD 系統映像。這與建立 Android設備系統映像的過程相同。例如,要建置 x86 32 位元 AVD:

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    如果您喜歡建立 x86 64 位元 AVD,請為 64 位元目標運行lunch

    lunch sdk_phone_x86_64
    
  3. 在 Android 模擬器中運行 AVD 系統映像:

    emulator
    

有關運行模擬器的更多詳細信息,請參閱命令列啟動選項。圖 2 顯示了運行 AVD 的 Android 模擬器的範例。

運行 AVD 的 Android 模擬器

圖 2.運行 AVD 的 Android 模擬器

共用 AVD 系統映像供其他人與 Android Studio 搭配

請依照以下說明與其他人共用您的 AVD 系統映像。他們可以將您的 AVD 系統映像與Android Studio結合使用來開發和測試應用程式。

  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託管在使用者可存取的位置,並取得其 URL 以用作AVD 系統映像 URL

  3. 對於 Android 12 及更低版本,請相應地編輯repo-sys-img.xml

    • <sdk:url>更新為您的AVD 系統映像 URL
    • 請參閱sdk-sys-img-03.xsd以了解該檔案的其他更新。
    • repo-sys-img.xml託管在使用者可存取的位置,並取得其 URL 以用作自訂更新網站 URL

若要使用自訂 AVD 映像,請在 SDK 管理員中執行下列操作:

  1. 新增自訂更新網站 URL作為 SDK 更新網站

    這會將您的自訂 AVD 系統映像新增至「系統映像」頁面。

  2. 透過下載並選擇自訂 AVD 系統映像來建立 AVD

新增多顯示器支援

Android 10增強了多顯示器 (MD),以更好地支援更多用例,例如自動和桌面模式。 Android 模擬器也支援多顯示器模擬。因此,您可以建立特定的多顯示環境,而無需設定真實的硬體。

您可以透過進行以下變更或從這些 CL 中進行挑選來為 AVD 新增多顯示器支援。

  • 透過將以下行新增至檔案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
    

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