車ユーザー インターフェイス (UI) ツールキットは、車に搭載されているアプリ (Google アプリ、システムおよびベンダー アプリ) が次のことを確実に達成できるようにするために使用できる UI 開発フレームワークを提供します。
インフォテイメントの UI/UX の自己一貫性。自己一貫性とは、同じシステムと対話した過去の経験に基づいて、ユーザーがインフォテインメント システムと対話する方法を予測できる能力です。
カスタマイズ。 OEM は、システムのルック アンド フィールを変更して、機能を車両の内装やハードウェアと最適に統合できます。
Car UI ライブラリの統合の詳細については、次のページを参照してください。
- Car UI ライブラリをアプリに統合する
- アプリをカスタマイズする
- カスタムフォントを追加する
- 車の UI 設定をカスタマイズする
- CarUiListItem
- CarUiRecyclerView をカスタマイズする
- ランタイムリソースオーバーレイのトラブルシューティング
- リリースノート
- 付録 A、RRO の使用
- 付録 B、カスタマイズのガイドライン
Car UI ライブラリについて
Car UI ライブラリは静的にリンクされたライブラリであり、以下の実装に使用できるコンポーネントとリソースのセットを提供します。
- システムおよび OEM アプリ (Gerrit)
- Android Automotive (AAOS) アプリ
このライブラリは次の機能を果たします。
カスタマイズ 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 アプリなどのカスタマイズ可能なターゲット。