Android 虛擬裝置做為開發平台

如要使用 Android 虛擬裝置 (AVD), Android Emulator 支援圖形使用者介面 (GUI) 和命令列介面 (CLI)。您只需選取 最適合您環境的理想工作流程

使用預先建構的 Android 開放原始碼計畫車輛 AVD

如要使用預先建構的 Android 開放原始碼計畫 Car AVD 快速啟動及測試,請使用開放原始碼指令碼下載 並在實際工作環境中啟動模擬器版本 ci.android.com。指令碼已於下列位置測試: macOS 和 Linux

你必須使用 Curl 才能使用這個指令碼。

如要執行指令碼,請按照下列步驟操作:

  1. 複製 launch_emu.sh敬上 本機檔案指令碼內容 (假設您使用 launch_emu.sh 本機檔案名稱
  2. 將本機指令碼設為可執行狀態。例如,執行 chmod +x ./launch_emu.sh
  3. 使用 ./launch_emu.sh -h 執行指令碼,查看可用的選項。
  4. ci.android.com 上,請前往 aosp-main-throttled 分支版本並選取近期建構作業,在當中 sdk_car_x86_64 是綠色。例如 11370359。如果沒有看到建構項目 資訊,請登出您的 Google 帳戶,然後再試一次。
  5. 下載並安裝含有版本 ID 的模擬器相關二進位檔案。例如: ./launch_emu.sh -i -a 11370359
  6. 完成後,您可以使用 ./launch_emu.sh 來啟動已下載並安裝的應用程式 模擬器 (請勿使用 -i-a 選項)。
  7. 如要下載並安裝其他版本 ID,請執行 ./launch_emu.sh -c 來清除 ,然後重複上述步驟 4 和步驟 5。

如何指定 Android 模擬器 指令列啟動選項 啟動模擬器時,請使用 -v 選項。例如:

  ./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"

建構 Android 開放原始碼計畫車輛 AVD

建構 Android 開放原始碼計畫車輛 AVD 的程序類似 建構手機的 AVD 映像檔 (例如 aosp_car_x86_64):

  1. 如要設定開發環境及找出分支版本,請參閱 來源控制工具。然後檢查 下載原始碼
    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
  2. 建構 AVD 映像檔:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. 執行 AVD 映像檔 (附加其他指令列啟動選項
    emulator &

    例如:

    圖 1. Android 虛擬模擬器畫面

    這項程序的注意事項:

    • 因為建構程序與建構 Android 所需的程序相同 ,請等候一段時間下載來源,然後建構來源。
    • 如要使用其他分支版本,請將 $ANDROID_BRANCH 設為其他分支版本 分支版本/標記
    • system.img 等 AVD 映像檔是在 $ANDROID_PRODUCT_OUT 建構的。 如要進一步瞭解主要圖片,請參閱 平均觀看時間 系統目錄
    • 詳情請參閱 README 檔案,瞭解 Android 樹狀結構中如何利用預先建構的模擬器二進位檔 執行模擬器。

建立車輛 AVD

新增車輛 AVD 幾乎與 新增裝置。例如: 1660554 建立新的 avd_car AVD。

如何建立車輛 AVD:

  1. 視需要建立公司和裝置資料夾。本範例使用 $ANDROID_BUILD_TOP/device/google_car/avd_car
  2. 建立產品 makefile avd_car.mk,定義 AVD 的建構方式。
  3. 建立裝置資料夾 avd_car_device,裡面有 BoardConfig.mksource.properties
  4. 將新的 makefile 和新的 lunch 選項新增至 AndroidProducts.mk
  5. 如要建構並執行新的 avd_car AVD,請按照下列步驟操作:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
,瞭解如何調查及移除這項存取權。 您現在可以開始設計新的 AVD 上大部分 HMI 和應用程式功能的原型。

封裝 AVD 映像檔 ZIP 檔案

您可以封裝和與他人分享 AVD,也可以用於其他用途 電腦。使用 emu_img_zip.mk 產生 AVD 圖片 ZIP 檔案:

  1. 建構 AVD 後,請將 emu_img_zip 設為目標:
    m emu_img_zip
  2. 名稱為 sdk-repo-linux-system-images 的 AVD 映像檔 ZIP 檔案是 建立在名為 $ANDROID_PRODUCT_OUT 的資料夾中。

建構 AVD 核心

AVD 核心與其他 Android 核心類似,兩者都是預先建構的映像檔。 一般來說,您可以使用標準的 Goldfish 核心預先建構的映像檔, 每個 Android 版本

如何測試核心變更:

  1. 執行下列一系列操作說明:
    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/
    
  2. 依據 AVD makefile,取代程式碼集中的核心二進位檔。例如: x86_64-vendor.mk敬上 包含 x86_64-kernel.mk

核心程式碼與設定如下所示:

產品
Branch 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,請參閱 建立及管理虛擬裝置。 裝置製造商可以自行定義硬體規格,例如螢幕大小和 DPI 使用 AVD 映像檔中的 devices.xml 檔案。

  • 舉例來說,如要查看 automotive.xml 中的 Automotive 裝置設定檔,
  • 為了進行 HMI 開發或原型設計,您可以將多部裝置新增到 產生適用於相同 AVD 映像檔的檔案。
  • [ABI] 資料夾的 OEM AVD 映像檔 ZIP 檔案中加入該檔案。 例如,x86_64
  • 裝置製造商也可以建立 模擬器外觀。舉例來說,定義其他硬體按鈕就能提升使用者體驗。 這項功能不僅適用於開發人員的工作流程,也適用於使用者體驗研究等其他工作 我們打造 AI 相關產品及做出業務決策前 會經過一系列的評估與審查程序

建立 AVD 圖片 XML 檔案

裝置製造商可以建立可供 Android Studio 下載的 AVD 圖片 XML 檔案 基礎架構

  • 如需範例,請參閱 AAOS AVD 圖片 XML 檔案 sys-img2-1.xml
  • 裝置製造商可以為目標使用者定義自己的 OEM AVD 授權協議 (使用榮譽系統) 取得 Android Emulator 授權。Android 版 Studio 會在包含這類授權時取得使用者共識。

如何建立映像檔:

  1. 準備 AVD 映像檔 ZIP 檔案。
  2. 解壓縮「${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip」。
  3. devices.xml 新增至 x86_64 資料夾,然後將檔案壓縮到 ZIP 檔案例如,oem_avd_img_x86_64.zip
  4. 更新「oem-sys-img2-1.xml」。
  5. 更新 ZIP 檔案名稱、大小和 shasum (我們提供範例 XML 檔案, tools)。

例如,如要在 Google Cloud Storage 中代管 AVD, 請參閱建立 Google Cloud 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:

  1. 在伺服器上代管圖片 ZIP 檔案和 XML 檔案。
  2. 請將網址提供給目標使用者。
  3. (選用) 根據使用者名稱和密碼限制存取權。

或者,如要加快開發速度,請將 AVD 下載至本機目錄:

  1. 將 XML 檔案和 XML 檔案中指定的所有成果儲存至資料夾 (例如所有 AVD 映像檔 ZIP 檔案),名為 ADDON_DIR
  2. 將網址指定為 file://$ADDON_DIR/oem-sys-img2-1.xml