Android Virtual Device(AVD)を使用するために、Android Emulator は Graphical User Interface(GUI)とコマンドライン インターフェース(CLI)をサポートしています。ワークフローは環境に合わせて最適なものを選択できます。
- 仮想デバイスの作成と管理 GUI は、ほとんどのアプリ デベロッパーやユーザーにとって使いやすいツールです。
- コマンドラインからエミュレータを起動すると、パワーユーザーと自動化のための柔軟な方法を提供します。たとえば、複数の AVD を使用したり、継続的なテストと継続的インテグレーションを設定したりできます。開始するには、ツールの例をご覧ください。
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 Virtual Emulator の画面
このプロセスに関する注意事項:
- ビルドプロセスは、物理デバイス用に Android をビルドするのに必要なプロセスと同様であるため、ソースをダウンロードしてビルドするまでしばらくお待ちください。
- 他のブランチで操作するには、
$ANDROID_BRANCH
を別のブランチまたはタグに設定します。 system.img
などの AVD イメージは$ANDROID_PRODUCT_OUT
でビルドされます。キーイメージの詳細については、AVD システム ディレクトリをご覧ください。- Android ツリー内のビルド済みエミュレータ バイナリを使用してエミュレータを実行する方法については、README ファイルをご覧ください。
Car AVD を作成する
新しい車の AVD を追加するのは、新しいデバイスを追加するのとほぼ同じです。たとえば、1660554 は新しい avd_car
AVD を作成します。
Car AVD を作成するには:
- 必要に応じて、会社とデバイスのフォルダを作成します。この例では
$ANDROID_BUILD_TOP/device/google_car/avd_car
を使用しています。 - AVD のビルド方法を定義するプロダクトの makefile、
avd_car.mk
を作成します。 - デバイス フォルダ
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
sdk-repo-linux-system-images
の接頭辞が付いた AVD イメージの zip ファイルが、$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 で使用) |
Manifest | 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
の Automotive Device プロファイルをご覧ください。 - HMI の開発またはプロトタイピングでは、同じ AVD イメージのファイルに複数のデバイスを追加できます。
- OEM AVD イメージの zip ファイルのファイルを
[ABI]
フォルダに含めます。たとえば、x86_64
のようにします。 - デバイス メーカーは、エミュレータ スキンを作成することもできます。たとえば、再現性を優先した UX を実現するために追加のハードウェア ボタンを定義します。これは、デベロッパーのワークフローだけでなく、UX リサーチやレビューなど他のタスクでも有用です。
AVD イメージの XML ファイルを作成する
デバイス メーカーは、Android Studio 向けの AVD イメージの XML ファイルを作成して、ダウンロードできます。
- たとえば、AAOS AVD のイメージ XML ファイルである
sys-img2-1.xml
をご覧ください。 - デバイス メーカーは、ターゲット ユーザー(自己申告システムを採用)向けの独自の OEM AVD ライセンス契約を、Android Emulator のライセンスとともに定義できます。そのようなライセンスが含まれている場合、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 を更新します(サンプル XML ファイルは
tools
で提供されています)。
たとえば、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
として指定します。