Car User Interface(UI)ツールキットでは、自動車で使用されるアプリ(Google アプリに加え、システムアプリ、ベンダーアプリ)で以下を可能にする UI 開発フレームワークが提供されます。
-
インフォテインメント UI/UX のセルフコンシステント。セルフコンシステントは、同じインフォテインメント システムを以前に操作したときの経験に基づいて、ユーザーがシステムの操作方法を予測できることを意味します。
-
カスタマイズ。OEM は、システムのデザインを変更することで、自動車のインテリアやハードウェアとの最適な機能の統合を行えます。
Car UI ライブラリ統合について詳しくは、以下の記事をご覧ください。
- Car UI ライブラリをアプリに統合する
- アプリのカスタマイズ
- カスタム フォントの追加
- Car UI 設定のカスタマイズ
- CarUiListItem
- CarUiRecyclerView のカスタマイズ
- ランタイム リソース オーバーレイのトラブルシューティング
- リリースノート
- 付録 A、RRO の使用
- 付録 B、カスタマイズ ガイドライン
Car UI ライブラリについて
Car UI ライブラリは静的にリンクされるライブラリであり、次の実装に使用できる一連のコンポーネントとリソースを提供します。
- システムアプリと OEM アプリ(Gerrit)
- Android Automotive(AAOS)アプリ
このライブラリの機能は以下のとおりです。
-
Customization API。
- 色、サイズ、ドローアブルなど、カスタマイズ可能なリソースを定義します。
- 下位互換性のある API としてリソースを処理します。
- Android 9 および Android 10 で提供される短期的なソリューションと、現在開発中の長期的なソリューションとの間の互換性レイヤ。
リソース オーバーレイ
Android はで現在、影響を受けるサブシステムやアプリに対する追加の作業を行わずに、カスタマイズを適用できる方法がいくつか用意されています。
-
ビルド時のオーバーレイ。このカスタマイズは、Android システム イメージのビルド時に適用されます。ビルド中、システム内のすべてのアプリが、アプリの
res
フォルダと、ターゲット Makefile で定義されたoverlay
フォルダからリソースを受け取ります。 -
動的ランタイム オーバーレイ(動的 RRO)。この特別な APK には、影響を受けるターゲット APK を示すマニフェスト ファイルとリソースのみが含まれます。動的 RRO は、システム イメージとは独立してコンパイルおよびデプロイされ、オンとオフを切り替えることができます。特定のアプリケーションのリソース ルックアップを実行する際、システムは対象となる RRO がないかチェックし、RRO に同じ名前のリソースが含まれているかどうかもチェックします。
-
静的ランタイム オーバーレイ(静的 RRO)。構造上、これらは動的 RRO と同様に常にオンになっています。つまり、システム イメージの完全なアップグレードを実行せずにアンインストールや更新を行えません。静的 RRO は、ビルド時のオーバーレイと動的ランタイム オーバーレイの中間として機能します。
UI コンポーネントに加えて、Car UI ライブラリは、一連の静的 RRO を使用して、リソース(各アプリに静的にリンクされている)を OEM リソースに直接オーバーレイするメカニズムを提供します。OEM は、リソース オーバーレイを含むフォルダとターゲット アプリケーションのリストを提供する必要があります。Car UI ライブラリ インフラストラクチャはビルド時にこの情報を使用して、ターゲット アプリケーションごとに 1 つの静的 RRO を生成します。
上の画像の説明:
-
緑: OEM により提供されるカスタマイズです。ビルド時のオーバーレイ リソースとランタイム オーバーレイ リソースの組み合わせです。
-
黄: Car UI ライブラリにより提供されるサポートです。これには、オーバーレイ可能なリソース、コンポーネント(Java コード)、必要な RRO を生成するためのビルドサポートなどがあります。
-
青: カスタマイズ可能なターゲットです。これには、フレームワーク、システム アプリケーション、ベンダー アプリケーション、Car UI ライブラリを使用して UI 要素をカスタマイズする GAS アプリケーションなどがあります。