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 エミュレーターの起動時に 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 仮想エミュレータ画面
このプロセスに関する注意事項:
- ビルド プロセスは、物理デバイス用の Android のビルドに必要なプロセスと同じであるため、ソースをダウンロードしてからビルドするまでに少し時間がかかります。
- 他のブランチで作業するには、
$ANDROID_BRANCH
別のブランチ/タグに設定します。 -
system.img
などの AVD イメージは$ANDROID_PRODUCT_OUT
でビルドされます。キー イメージの詳細については、 「AVD システム ディレクトリ」を参照してください。 - Android ツリー内の事前に構築されたエミュレータ バイナリがエミュレータを実行するためにどのように使用されるかについては、 READMEファイルを参照してください。
車の AVD を作成する
新しい車の AVD の追加は、新しいデバイスの追加とほぼ同じです。たとえば、 1660554 は新しいavd_car
AVD を作成します。
車の AVD を作成するには:
- 必要に応じて、会社とデバイスのフォルダーを作成します。この例では
$ANDROID_BUILD_TOP/device/google_car/avd_car
を使用します。 - AVD のビルド方法を定義する製品メイクファイル
avd_car.mk
を作成します。 -
BoardConfig.mk
とsource.properties
を含めるデバイス フォルダーavd_car_device
を作成します。 - 新しい
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 リリースの標準の金魚カーネルの事前構築済みイメージをそのまま使用できます。
カーネルの変更を試してみるには:
- 次の一連の命令を実行します:
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 メイクファイルに従って、コードベース内のカーネル バイナリを置き換えます。たとえば、
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
のように。 - デバイス メーカーは、エミュレータ スキンを作成することもできます。たとえば、より忠実な UX のために追加のハードウェア ボタンを定義します。これは、開発者のワークフローだけでなく、UX の調査やレビューなどの他のタスクにも役立ちます。
AVD イメージ XML ファイルを作成する
デバイス メーカーは、Android Studio 用の AVD イメージ XML ファイルを作成してダウンロードできます。
- たとえば、AAOS AVD イメージ XML ファイル
sys-img2-1.xml
を参照してください。 - デバイス メーカーは、Android エミュレータのライセンスを使用して、対象ユーザー向けに独自の 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 ファイルの名前、サイズ、および 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
になります。
AVD イメージを Android Studio ユーザーと共有する
ユーザーが 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
として指定します。