このページでは、Cuttlefish に AAOS SDV をダウンロード、ビルド、実行する方法について説明します。
AAOS SDV のソースコードを取得する
Android ソースをダウンロードするの手順に沿って操作します。
ビルド環境を設定する
作業ディレクトリ内から、envsetup.sh スクリプトをソースとしてビルド環境を設定します。
source build/envsetup.shこのスクリプトは、Android ソースコードの操作を可能にする複数のコマンド(このページで使用するコマンドを含む)をインポートします。スクリプトのソースを表示するには、platform/build/envsetup.sh をご覧ください。組み込みヘルプを表示するには、hmm と入力してください。
ターゲットを選択する
SDV をビルドする前に、ビルドするターゲットを特定する必要があります。 ビルドするターゲットを特定するには、lunch コマンドの後に、ビルドするターゲットを表す文字列を指定します。たとえば、Cuttlefish エミュレータのターゲットをビルドするには、次のコマンドを使用します。
lunch sdv_core_cf-trunk_staging-userdebugこのコマンドは、ビルドするプロダクト、リリース構成、バリアントを選択し、その選択を環境に保存します。
SDV の lunch ターゲットは、devices/google/sdv ディレクトリにある別の Git プロジェクトで提供されます。使用可能なターゲットの詳細については、device/google/sdv/README.md をご覧ください。主な Cuttlefish(cf)ターゲットは次のとおりです。
sdv_core_cf-trunk_staging-userdebug- Cuttlefish(cf)で実行される AAOS SDV Core (sdv_core)のイメージをビルドします。sdv_media_cf-trunk_staging-userdebug- virtIO 仮想化メディア API(sdv_media)を使用して AAOS SDV Core のイメージをビルドします。sdv_media_har_cf-trunk_staging-userdebug- AAOS SDV メディア(sdv_media_cf)lunchターゲットを拡張して、高可用性レンダラ(HAR)を含むイメージをビルドします。HAR は起動時に自動的に実行されます。sdv_ivi_cf-trunk_staging-userdebug- SDV Gateway と Java サンプルアプリを含む車載 インフォテインメント(IVI)のイメージをビルドします。sdv_ivi_cf_ds-trunk_staging-userdebug- AAOS SDV IVI ターゲット(sdv_ivi_cf)を拡張し、Display Safety の DriverUI とインストルメント クラスタの実装を含むイメージをビルドします。
AAOS SDV をビルドする
ターゲットをビルドするには、次のコマンドを実行します。最初のビルドにかかる時間はワークステーションの仕様によって異なり、30 ~ 60 分ほどかかります。その後のビルドでは、所要時間は大幅に短縮されます。
mビルドの出力は $OUT_DIR に保存されます。いくつかのターゲットをビルドする場合、それぞれのビルドは $OUT_DIR に保存されます。
Cuttlefish を使用してビルドをテストする
AAOS SDV をビルドしたら、Cuttlefish を使用してビルドをテストします。
ビルドで Cuttlefish を起動するには:
cvd createCuttlefish は、ビルドしたターゲット(
sdv_core_cf-trunk_staging-userdebug)を使用して実行されます。Cuttlefish が起動すると、次のメッセージが表示されます。VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyadbを実行して Cuttlefish に接続します。adb devicesを実行して、ビルドが実行されていることを確認します。次のような結果が表示されます。List of devices attached 0.0.0.0:6520 devicecvd stopを実行してデバイスをシャットダウンします。
異なるビルドで Cuttlefish の複数のインスタンスを実行するには、Cuttlefish: マルチテナンシーをご覧ください。
トラブルシューティング
このセクションでは、AAOS SDV のダウンロード、ビルド、実行中に発生する可能性のあるエラーのトラブルシューティング方法について説明します。
RBE エラー
Remote Build Execution(RBE)エラーが発生した場合は、.bashrc または .zshrc から USE_RBE と ENABLE_RBE_BOOTSTRAP の定義を削除します。
cvd: VM manager crosvm isn't supported on this machine
Cuttlefish が、VM マネージャー crosvm がマシンでサポートされていないと報告する場合は、次のコマンドを実行して Cuttlefish をインストールします。
sudo apt install cuttlefish-commoncvd が見つかりません
cvd not found エラーが表示された場合:
Cuttlefish のクラッシュ ループ
Cuttlefish がクラッシュ ループに入った場合:
- すべての Cuttlefish インスタンスを停止するには、
cvd stopを実行します。 - Cuttlefish を使用してビルドを再テストします。