統合ガイド

このページでは、バンドルされていないアプリを統合する方法の概要を説明します。 Dialer、Media、Car UI Library、SMS を含むアプリは、バンドルされていないアプリとみなされます。これらのアプリは Android プラットフォームから分離されており、関連付けや機能の登録の設定など、電話コンパニオン アプリと車両側の UX からデータを受信するためのロジックが含まれています。

バンドルされていないコードから構築された APK は、プラットフォームの複数のバージョンで動作します。

コードを確認してください

バンドルされていないコードをチェックアウトするには:

  1. 次のコマンドを実行します:
    repo init -u https://android.googlesource.com/platform/manifest -b ub-automotive-master
    repo sync -cq -j4
    
  2. AOSP ソース コードの操作の詳細については、 「Repo クライアントの初期化」を参照してください。

コードをビルドする

Androidスタジオ

Android Studio でコードをビルドするには:

  1. Android Studio で、このビルド ファイル
    packages/apps/Car/libs/aaos-apps-gradle-project/build.gradle
    をインポートします。
  2. Android Studio の Gradle JDK を必ずバージョン 11 以上に設定してください。


    図 1.バージョン 11。
  3. 必要な APK をビルドします。

コマンドライン

コマンドラインからコードをビルドするには:

  1. 次の 2 つの方法のいずれかで Android SDK の場所を設定します。
    • packages/apps/Car/libs/aaos-apps-gradle-project/local.properties作成し、それに含まれるsdk.dirプロパティを設定します。 Android Studio では、プロジェクトを開くときにこれを自動的に行うことができます。たとえば、 sdk.dir=/Users/MY-USERNAME/Library/Android/sdkを使用します。

      または
    • ANDROID_SDK_ROOT環境変数に Android SDK へのパスを設定します。
  2. コマンド プロンプトまたはシェル ウィンドウを開きます。
  3. packages/apps/Car/libs/aaos-apps-gradle-projectに移動します。
  4. 次のコマンドを実行します:
    ./gradlew assemble

最低限必要な API レベル

バンドルされていない各アプリは、 minSdkVersion以上のバージョンの Android プラットフォームで動作します。次の表に、各アプリでサポートされる最小 API バージョンを示します。

アプリ最小 API レベル
カレンダー29
車のUIライブラリ29
コンパニオンデバイス29
ダイヤラー31
メディア30
SMS 30
AOSP ホスト29

プリビルドをシステム イメージに統合する

Android 13 以降のイメージ

バンドルされていないコードは Android 13 プラットフォームから削除されます。したがって、以下の場合には、事前に構築された APK をプラットフォーム ビルドに追加することが必要になる場合があります。

  • CDD 準拠テスト
  • 特権アプリのプロビジョニング

これは、 android_app_import Soong ルールで実現されます。

android_app_import {
    name: "CarMediaApp",
    apk: "CarMediaApp.apk",
    privileged: true,
    certificate: "platform", // Media must be signed by the platform
    required: ["allowed_privapp_com.android.car.media"],
}

Android 12 以下

Android プラットフォームのバージョンがアプリでサポートされている限り (上の表を参照)、APK をそのシステム イメージに追加できます。ただし、バンドルされていないアプリのほとんどには、Android 13 より前のプラットフォームに含まれる以前のバージョンのソース コードが含まれています。デフォルトでは、Soong は事前構築されたソース コードよりもソース コードを優先します。したがって、 android_app_importルール内でpreferフラグをtrueに設定する必要があります。

android_app_import {
    name: "CarDialerApp",
    apk: "CarDialerApp.apk",
    privileged: true,
    presigned: true, // Dialer can have its own signature
    required: ["allowed_privapp_com.android.car.dialer"],
    overrides: ["Dialer"],
    prefer: true, // The prebuilt replaces a source target with the same name,
    }

バンドルされていないタイプごとにリストされたアプリ

アプリ特典付きのバンドルされていないバンドルされていない
(システムパーティション上にある必要はありません)
システム署名済みシステム署名されていない
カレンダーバツ
コンパニオンデバイスバツ
ダイヤラーバツ
AOSP ホストバツ
メディアバツ
SMSバツ
アップデート配信太田OTA または Google Play OTA または Google Play