為了使用 Android 虛擬裝置 (AVD), Android 模擬器支援圖形使用者介面 (GUI) 和命令列介面 (CLI)。您可以選擇適合您環境的最佳工作流程。
- 建立和管理虛擬設備GUI 是為大多數應用程式開發人員和使用者提供的簡單工具。
- 從命令列啟動模擬器為高級用戶和自動化提供了一種靈活的方式。例如,使用多個 AVD 或設定持續測試和持續整合。若要開始使用,請參閱工具中的範例)。
使用預建啟動 AOSP Car AVD
若要使用預先建置的 AOSP Car AVD 快速啟動和測試,請使用開源腳本從ci.android.com
下載並啟動模擬器版本。該腳本已在 macOS 和 Linux 上進行了測試。
您需要Curl才能使用此腳本。
運行腳本:
- 將
launch_emu.sh
腳本內容複製到本機文件,假設您使用launch_emu.sh
作為本機檔案名稱。 - 使您的本機腳本可執行。例如,執行
chmod +x ./launch_emu.sh
。 - 透過使用
./launch_emu.sh -h
運行腳本來檢查可用選項。 - 在
ci.android.com
上,前往aosp-main-throttled
分支並選擇最近的版本,其中sdk_car_x86_64
為綠色。例如,11370359。如果您沒有看到版本訊息,請退出您的 Google 帳戶,然後再試一次。 - 使用建置 ID 下載並安裝與模擬器相關的二進位。例如,
./launch_emu.sh -i -a 11370359
。 - 之後,您可以使用
./launch_emu.sh
啟動下載並安裝的模擬器(不要使用-i
或-a
選項)。 - 若要下載並安裝另一個建置 ID,請執行
./launch_emu.sh -c
清理您的工作區,然後重複上面的步驟 4 和步驟 5。
若要在啟動模擬器時指定 Android 模擬器命令列啟動選項,請使用-v
選項。例如:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
建造 AOSP 汽車 AVD
建構 AOSP Car AVD 的過程類似於為手機建立 AVD 映像(例如,aosp_car_x86_64):
- 若要設定開發環境並識別分支,請參閱原始碼管理工具。然後查看下載原始碼:
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - 建置 AVD 映像:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- 執行 AVD 映像(根據需要附加其他命令列啟動選項):
emulator &
例如:
圖 1. Android 虛擬模擬器螢幕
關於此過程的注意事項:
創建汽車 AVD
新增新車 AVD 與新增設備幾乎相同。例如, 1660554建立一個新的avd_car
AVD。
創建汽車 AVD:
- 根據需要建立公司和設備資料夾。此範例使用
$ANDROID_BUILD_TOP/device/google_car/avd_car
。 - 建立產品 makefile
avd_car.mk
,它定義如何建置 AVD。 - 建立裝置資料夾
avd_car_device
,其中包含BoardConfig.mk
和source.properties
。 - 將新的
makefile
和新的lunch
選擇加入AndroidProducts.mk
。 - 建置並運行新的
avd_car
AVD:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
打包 AVD 影像 zip 文件
您可以打包並與其他人共用您的 AVD,或在另一台電腦上使用它。使用emu_img_zip.mk
產生 AVD 影像 zip 檔:
- 建置 AVD 後,將
emu_img_zip
設定為目標:m emu_img_zip
- AVD 映像 zip 檔案以
sdk-repo-linux-system-images
為前綴,並在名為$ANDROID_PRODUCT_OUT
的資料夾中建立。
建構 AVD 內核
AVD 核心與其他 Android 核心類似,都是預先建置的映像。通常,您可以使用每個 Android 版本中的標準 goldfish 核心預先建立映像。
要試驗內核更改:
- 執行以下一系列指令:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- 根據 AVD makefile 替換程式碼庫中的核心二進位。例如,
x86_64-vendor.mk
包含x86_64-kernel.mk
。
內核程式碼和配置位於以下位置:
物品 | 價值 |
---|---|
分支 | common-android11-5.4 (在Android 11中使用) |
顯現 | kernel/manifest/common-android11-5.4 |
通用模組/虛擬設備 | kernel/common-modules/virtual-device/android11-5.4 |
核心 | kernel/common/android11-5.4 |
建立新的設備設定檔
若要使用戶能夠在 Android Studio AVD Manager 中建立特定的 AVD,請參閱建立和管理虛擬裝置。設備製造商可以透過使用 AVD 映像中包含的devices.xml
檔案來定義自己的硬體規格,例如螢幕尺寸和 DPI。
- 例如,請參閱
automotive.xml
中的汽車設備設定檔。 - 對於 HMI 開發或原型設計,可以將多個裝置新增至相同 AVD 映像的檔案。
- 將該檔案包含在
[ABI]
資料夾中的 OEM AVD 映像 zip 檔案中。例如,作為x86_64
。 - 設備製造商還可以創建模擬器皮膚。例如,定義額外的硬體按鈕以獲得更高保真度的使用者體驗。這不僅對開發人員工作流程有用,而且對使用者體驗研究和審查等其他任務也有用。
建立 AVD 影像 XML 文件
裝置製造商可以建立 AVD 影像 XML 檔案以供 Android Studio 下載。
- 例如,請參閱 AAOS AVD 圖像 XML 檔案
sys-img2-1.xml
。 - 設備製造商可以為其目標用戶(使用榮譽系統)定義自己的 OEM AVD 許可協議,並獲得 Android 模擬器的許可。當包含此類許可證時,Android Studio 會獲得使用者共識。
創建圖像:
- 準備 AVD 影像 zip 檔。
- 解
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
。 - 將
devices.xml
加入x86_64
資料夾,然後將該檔案壓縮為 zip 檔案。例如,作為oem_avd_img_x86_64.zip
。 - 更新
oem-sys-img2-1.xml
。 - 更新 zip 檔案名稱、大小和 shasum(
tools
中提供了範例 XML 檔案)。
例如,若要在 Google Cloud Storage上託管 AVD,請參閱建立儲存桶。
若要上傳 AVD 並使之可供公開訪問,請參閱公開資料:
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
AVD 圖片 SDK 附加 URL 格式如下: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
。例如,如果 BUCKET_NAME 為 aaos-avd,則 URL 為: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
。
與 Android Studio 使用者分享 AVD 映像
為了讓您的使用者可以下載 AVD 映像並透過 Android Studio 使用您的 AVD,您可以提供 SDK 附加 XML 檔案。詳細資訊請參閱更新IDE和SDK工具。
若要從網路下載 AVD:
- 在伺服器上託管圖像 zip 檔案和 XML 檔案。
- 向您的目標使用者提供 URL。
- (可選)透過使用者名稱和密碼限制存取。
或者,為了加快開發速度,請將 AVD 下載到本機目錄:
- 將 XML 檔案和 XML 檔案中指定的所有工件儲存到名為
ADDON_DIR
資料夾(例如,所有 AVD 映像 zip 檔案)。 - 將 URL 指定為
file://$ADDON_DIR/oem-sys-img2-1.xml
。