您可以使用 Android Emulator 建立 Android 裝置的模擬作業 執行專屬於您的自訂 Android 系統映像檔你也可以分享自訂篩選器 Android 系統映像檔,以便其他人執行模擬作業。於 此外,您可以在 Android Emulator 中加入多螢幕支援功能 模擬。
Android Emulator 架構
Android Emulator 可讓您在 Windows、 macOS 或 Linux 電腦Android Emulator 會執行 Android 作業系統 安裝在名為 Android 虛擬裝置 (AVD) 的虛擬機器中。AVD 包含 完整的 Android 軟體 堆疊 使用的是實體裝置圖 1 是 Android Emulator 的示意圖 整體架構如要進一步瞭解模擬器,請參閱 在 Android Emulator 上執行應用程式。
圖 1. Android Emulator 架構
建構 AVD 映像檔
每個 AVD 都包含一個 Android 系統映像檔,該映像檔會在 該 AVD。AVD Manager 內含部分系統映像檔。您也可以建立自訂報表 來自原始碼的 AVD 系統映像檔,並建立裝置模擬來執行這些映像檔。
如要建構及執行 AVD 系統映像檔,請按照下列步驟操作:
下載 Android 原始碼:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
如要建構其他 Android 版本,請參考 分支版本名稱 公開 Android 存放區。 這些都會對應至 Android 產品代號、標記和版本號碼。
建構 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
在 Android Emulator 中執行 AVD 系統映像檔:
emulator
詳情請參閱 指令列啟動選項 進一步瞭解如何執行模擬器。圖 2 為 執行 AVD 的 Android Emulator。
圖 2. 執行 AVD 的 Android Emulator
分享 AVD 系統映像檔讓他人與 Android Studio 搭配使用
請按照下列操作說明,與他人分享 AVD 系統映像檔。他們可以 透過 Android 使用 AVD 系統映像檔 開發及測試應用程式的工作室。
建立額外的
sdk
和sdk_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
代管「
sdk-repo-linux-system-images-eng.[username].zip
」檔案 並在使用者能存取的位置取得網址,做為 AVD 使用 系統映像檔網址。如果是 Android 12 以下版本,請編輯
repo-sys-img.xml
並據此:- 將
<sdk:url>
更新為 AVD 系統映像檔網址。 - 詳情請見 sdk-sys-img-03.xsd ,瞭解檔案的其他更新。
- 將
repo-sys-img.xml
託管於使用者可存取的位置,並可存取 做為自訂更新網站網址使用的網址。
- 將
如要使用自訂 AVD 映像檔,請在 SDK Manager 中執行以下操作:
-
這項操作會將自訂 AVD 系統映像檔新增至「System Image」頁面。
建立 AVD 下載並選取自訂 AVD 系統映像檔。
新增多螢幕支援功能
Android 10 強化多螢幕 (MD) ,以進一步支援更多用途,例如自動和桌面模式。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
您可以在以下網址找到最新的模擬器功能和版本資訊: 下列來源: