如要使用 Android 虛擬裝置 (AVD),Android Emulator 支援圖形使用者介面 (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 Car 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 虛擬模擬器畫面
這項程序的注意事項:
建立 Car AVD
新增汽車 AVD 的步驟幾乎與新增裝置相同。例如 1660554
會建立新的 avd_car
AVD。
如要建立 Car 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
- 系統會在名為
$ANDROID_PRODUCT_OUT
的資料夾中建立 AVD 圖片 ZIP 檔案,檔案名稱前置字串為sdk-repo-linux-system-images
。
建構 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
。
核心程式碼和設定檔位於以下位置:
產品 | 值 |
---|---|
Branch | common-android11-5.4 (在 Android 11 中使用) |
命運航班 | kernel/manifest/common-android11-5.4 |
common-modules/virtual-device | 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
。 - 裝置製造商可以使用 Android Emulator 授權,為目標使用者定義自己的 OEM AVD 授權協議 (採用榮譽系統)。當 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 檔案名稱、大小和 SHA1 總和 (
tools
中提供 XML 檔案範例)。
舉例來說,如要在 Google Cloud Storage 上代管 AVD,請參閱「建立 Storage 值區」一文。
如要上傳 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 外掛程式網址格式如下:https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
。舉例來說,如果 BUCKET_NAME 是 aaos-avd,網址會是 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 檔案。
- 將網址提供給目標使用者。
- (選用) 使用者名稱和密碼限制存取權。
或者,如要加快開發速度,請將 AVD 下載到本機目錄:
- 將 XML 檔案和 XML 檔案中指定的所有構件,儲存至名為
ADDON_DIR
的資料夾 (例如所有 AVD 圖片 ZIP 檔案)。 - 請將網址指定為
file://$ADDON_DIR/oem-sys-img2-1.xml
。