Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

使用Android模擬器虛擬設備

您可以使用Android模擬器來創建運行自己的自定義Android系統映像的Android設備的模擬。您還可以共享您的自定義Android系統映像,以便其他人可以模擬它們。此外,您可以為Android Emulator仿真添加多屏顯示支持。

Android模擬器架構

Android模擬器可讓您在Windows,macOS或Linux機器上運行Android設備的模擬。 Android仿真器在稱為Android虛擬設備(AVD)的虛擬機中運行Android操作系統。 AVD包含完整的Android軟件堆棧,並且就像在物理設備上一樣運行。圖1是Android Emulator的高級架構圖。有關模擬器的更多信息,請參閱在Android模擬器上運行應用程序

Android模擬器架構

圖1. Android仿真器架構

建立AVD影像

每個AVD都包含一個Android系統映像,該映像在該AVD中運行。 AVD Manager包含一些系統映像。您可以從源代碼構建自定義AVD系統映像,並創建設備仿真以運行它們。

要構建和運行AVD系統映像:

  1. 下載Android來源:

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

    如果要構建其他Android版本,則可以在公共Android系統信息庫中找到其分支名稱。它們映射到Android代碼名,標籤和內部編號

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

    mkdir aosp-master; cd aosp-master
    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軟件包:

    $ make -j32 sdk sdk_repo
    

    這將在aosp-master/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託管在sdk-repo-linux-system-images-eng.[username].zip可以訪問的某個位置,並獲取其URL用作AVD System Image URL

  3. 相應地編輯repo-sys-img.xml

    • <sdk:url>更新為您的AVD系統映像URL
    • 請參閱sdk-sys-img-03.xsd了解有關文件的其他更新。
  4. repo-sys-img.xml在用戶可訪問的某個位置,並獲取其URL用作“自定義更新站點URL”

要使用自定義AVD圖像,請在SDK Manager中執行以下操作:

  1. 自定義更新站點URL添加為SDK更新站點

    這會將您的自定義AVD系統映像添加到“系統映像”頁面。

  2. 通過下載並選擇自定義AVD系統映像來創建AVD

添加多屏支持

Android 10增強了多屏顯示(MD),以更好地支持更多用例,例如自動和桌面模式。 Android Emulator還支持多顯示器仿真。因此,您可以在不設置實際硬件的情況下創建特定的多顯示器環境。

您可以通過進行以下更改或從這些CL中挑選櫻桃來向AVD添加多顯示支持。

  • 通過build/target/product/sdk_phone_x86.mk添加到文件build/target/product/sdk_phone_x86.mk將多顯示提供程序添加到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
    

您可以從以下來源找到最新的仿真器功能並發布信息: