開発プラットフォームとしての Google Pixel

フロントエンド ソフトウェアを開発する Automotive のパートナー チームには、アプリとユーザー エクスペリエンスを開発するために、Google がサポートするハードウェア プラットフォームが必要になります。

注意点

Google Pixel 4a(5G)と Google Pixel 5 を開発プラットフォームとして使用する場合、次の制限が適用されます。

  • Google Pixel 4a(5G)と Google Pixel 5 は検証済みで、サポートされています。Google Pixel の詳細については、Google ストアをご覧ください。

  • 下記のデバイスはサポートされていますが、現在はテストされていません。正しいバイナリをダウンロードした後、次の手順を行います。
    • Google Pixel 3a
    • Google Pixel 3a XL
    • Google Pixel 4
    • Google Pixel 4 XL
    • Google Pixel 4a
    • Google Pixel 6、Google 6 Pixel Pro(試験運用版)
  • Android 12、ビルド SP1A.210812.016.A1 を使用する必要があります

  • Bluetooth プロファイルには一切サポートが提供されません

前提条件

続行する前に、以下の項目を満たしていることを確認してください。

  1. OEM ロック解除が必要。ロック解除された Google Pixel 4a(5G)または Google Pixel 5 を使用します
  2. Android コードのビルドが可能な Linux デスクトップ。詳細については、ビルド環境を構築するをご覧ください。

コードの同期とビルド

  1. Android ビルド SP1A.210812.016.A1 を同期するには:
    mkdir aaos_on_phone
    cd aaos_on_phone
    repo init -u https://android.googlesource.com/platform/manifest -b android-12.0.0_r3 --use-superproject --partial-clone --partial-clone-exclude=platform/frameworks/base --clone-filter=blob:limit=10M
    repo sync -j8 -c -q
    
  2. 専用のバイナリとパッチをダウンロードします。
    1. Google Pixel 4a(5G)。Android 12 のベンダー イメージや Qualcomm ドライバなどの 4a(5G)バイナリをダウンロードして、SP1A.210812.016.A1 をビルドします。
      curl --output - https://dl.google.com/dl/android/aosp/google_devices-bramble-sp1a.210812.016.a1-a60d24d5.tgz  | tar -xzvf -
      tail -n +315 extract-google_devices-bramble.sh | tar -zxvf -
      
      curl --output - https://dl.google.com/dl/android/aosp/qcom-bramble-sp1a.210812.016.a1-3fa45eab.tgz | tar -xzvf -
      tail -n +315 extract-qcom-bramble.sh | tar -xzvf -
      
    2. Google Pixel 5。Android 12 のベンダー イメージや Qualcomm ドライバなどの Pixel 5 バイナリをダウンロードして、SP1A.210812.016.A1 をビルドします。
      curl --output - https://dl.google.com/dl/android/aosp/google_devices-redfin-sp1a.210812.016.a1-8813b219.tgz  | tar -xzvf -
      tail -n +315 extract-google_devices-redfin.sh | tar -zxvf -
      
      curl --output - https://dl.google.com/dl/android/aosp/qcom-redfin-sp1a.210812.016.a1-8d32b5b1.tgz | tar -xzvf -
      tail -n +315 extract-qcom-redfin.sh | tar -xzvf -
      
  3. ビルドを実行します。次の例の <target> は、aosp_bramble_car または aosp_redfin_car のいずれかに置き換えてください。
    . build/envsetup.sh
    lunch <target>
    m
    
  4. Automotive 関連のパッケージをビルドします。
    m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
    

ビルドをフラッシュするようにデバイスを設定する

まだ有効にしていない場合は、開発者向けオプションを有効にしてください。[設定] > [システム] > [デバイス情報] に移動し、ビルド番号を 7 回タップします。

[開発者向けオプション] を有効にしている場合:

  1. [設定] > [システム] > [開発者向けオプション] に移動し、[USB デバッグ] と [OEM ロック解除] を有効にします。
USB デバッグ OEM ロック解除

ビルドをフラッシュする

  1. デバイスを Fastboot モード(Fastboot mode)にしてからロックを解除します。
    adb reboot bootloader
    fastboot flashing unlock
    
  2. デバイスで、[Unlock the Bootloader] を選択します。この操作により、デバイス上のすべてのデータが消去されます。
  3. ビルドをフラッシュします。
    fastboot -w flashall
    
  4. ビルドの起動後、ホーム画面が表示されたら次の操作を行います。
    1. adb remount を有効化します。
      adb root && sleep 5 && adb disable-verity && sleep 1 && adb reboot && adb wait-for-device && sleep 5 && adb root && sleep 5 &&  adb remount
      
    2. 必要な Automotive 固有のファイルをデバイスにプッシュします。
      adb sync vendor
      adb reboot
      
    3. デバイスが起動するまで待ちます。

    試験運用版

    Google Pixel 6 と Google 6 Pixel Pro は試験運用ベースでサポートされています。Google は、試験運用段階から正式なリリースに向けて取り組んでいます。

    上記の各前提条件を満たしていることをご確認ください。

    コードの同期とビルド

    • android-12.0.0_r4(SD1A.210817.015.A4)を同期します。
    • https://developers.google.com/android/drivers から SD1A.210817.015.A4 の Oriole(P6)用と Raven(P6 Pro)用の適切なバイナリをダウンロードします。
    • Android 12 のパッチをチェリーピックします。
    • aosp_oriole_car(Google Pixel 6)または aosp_raven_car(Google Pixel 6 Pro)をビルドします。
    • AAOS アーティファクトをビルドします。
    • m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service
      
    • デバイスをフラッシュし、上述のステップ 4 remount の説明に沿って adb remount を有効にします。
    • デバイスに AAOS アーティファクトをプッシュします。
    • FILES="bin/hw/android.hardware.automotive.vehicle@2.0-service bin/hw/android.hardware.automotive.audiocontrol@1.0-service lib64/android.automotive.watchdog-V2-ndk_platform.so lib64/android.hardware.automotive.audiocontrol@1.0.so lib64/android.automotive.watchdog-V2-ndk_platform.so lib64/android.hardware.automotive.vehicle@2.0.so etc/vintf/manifest/android.hardware.automotive.vehicle@2.0-service.xml etc/vintf/manifest/audiocontrol_manifest.xml etc/init/android.hardware.automotive.audiocontrol@1.0-service.rc etc/init/android.hardware.automotive.vehicle@2.0-service.rc"; for F in $FILES ; do echo writing $F; adb push $OUT/vendor/$F vendor/$F ; done
      adb reboot
      
    • (省略可)表示間隔を修正するには、次のコマンドを使用します。
    • adb shell wm density 240
      adb reboot