您可以使用Android模擬器來創建運行自己的自定義Android系統映像的Android設備的模擬。您還可以共享您的自定義Android系統映像,以便其他人可以模擬它們。此外,您可以為Android Emulator仿真添加多屏顯示支持。
Android模擬器架構
Android模擬器可讓您在Windows,macOS或Linux機器上運行Android設備的模擬。 Android仿真器在稱為Android虛擬設備(AVD)的虛擬機中運行Android操作系統。 AVD包含完整的Android軟件堆棧,並且就像在物理設備上一樣運行。圖1是Android Emulator的高級架構圖。有關模擬器的更多信息,請參閱在Android模擬器上運行應用程序。
圖1. Android仿真器架構
建立AVD影像
每個AVD都包含一個Android系統映像,該映像在該AVD中運行。 AVD Manager包含一些系統映像。您可以從源代碼構建自定義AVD系統映像,並創建設備仿真以運行它們。
要構建和運行AVD系統映像:
下載Android來源:
mkdir aosp-master; cd aosp-master
repo init -u
repo sync -j24
如果要構建其他Android版本,則可以在公共Android系統信息庫中找到其分支名稱。它們映射到Android代碼名,標籤和內部編號。
生成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
在Android模擬器中運行AVD系統映像:
emulator
有關運行仿真器的更多詳細信息,請參見命令行啟動選項。圖2顯示了運行AVD的Android模擬器的示例。
圖2.運行AVD的Android仿真器
共享AVD系統映像以供其他人與Android Studio一起使用
請按照以下說明與他人共享您的AVD系統映像。他們可以將您的AVD系統映像與Android Studio一起使用來開發和測試應用。
製作其他
sdk
和sdk_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
-
將文件
sdk-repo-linux-system-images-eng.[username].zip
託管在sdk-repo-linux-system-images-eng.[username].zip
可以訪問的某個位置,並獲取其URL用作AVD System Image URL 。相應地編輯
repo-sys-img.xml
:- 將
<sdk:url>
更新為您的AVD系統映像URL 。 - 請參閱sdk-sys-img-03.xsd了解有關文件的其他更新。
- 將
將
repo-sys-img.xml
在用戶可訪問的某個位置,並獲取其URL用作“自定義更新站點URL” 。
要使用自定義AVD圖像,請在SDK Manager中執行以下操作:
這會將您的自定義AVD系統映像添加到“系統映像”頁面。
通過下載並選擇自定義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
您可以從以下來源找到最新的仿真器功能並發布信息: