Android Automotive 25Q4

このページでは、Android Automotive OS(AAOS)25Q4 リリースの機能と拡張機能について説明します。AAOS 25Q4 は公式のゴールデン リリースです。25Q4 では、8 つの新機能が提供され、180 件の問題が解決されています。

AAOS 25Q4 は API レベル 16.1 を使用します。

機能

この AAOS リリースでは、ここに記載されている新機能が提供されます。

フレームワーク

Jetpack Compose のロータリー サポート:

  • Android 14 以降: AAOS は、コントローラの回転やナッジなど、Jetpack Compose ユーザー インターフェースの基本的なロータリー サポートを組み込みで提供します。

  • Android 12、Android 12L、Android 13: AAOS は、Compose UI のロータリー サポートを限定的に提供します。コントローラの回転は、アプリ側の回避策で動作します。ナッジはサポートされていません。

    詳しくは、RotaryPlayground アプリの View Compose アクティビティのデモをご覧ください。このアプリのソースコードは car-apps-dev ブランチで入手できます。

パフォーマンスとシステムの健全性

  • 以前のユーザーのアプリを停止: ユーザー切り替えのレイテンシとメモリ フットプリントを削減するため、システムはユーザー切り替えプロセスの早い段階で以前のユーザーのアプリを停止します。

システム エクスペリエンス

スケーラブルな UI

AAOS は、自動車固有のウィンドウ ソリューションを追加し、OEM が安全で準拠した費用対効果の高い方法でスケーラブル UI を使用した高度なウィンドウ エクスペリエンスを開発できるようにします。このフレームワークにより、デベロッパーは XML 構成で宣言型言語を使用してウィンドウ構造を設計できます。

  • スケーラブル UI のタスク フォーカス: マルチ ウィンドウ環境でどのタスクにフォーカスを当てるかを決定する一連のルール(パネルの開閉など)を導入します。Focus タグの新しい onTransition 属性により、よりきめ細かい制御が可能になります。

  • スケーラブル UI の自動再起動メカニズム: スケーラブル UI パネルは、障害のあるアプリを再起動することで、アプリのクラッシュを適切に処理します。UI パネルでの予期しないタスクの終了に対処するには、新しい <Restart> XML タグを使用して自動タスク再起動メカニズムを構成し、再起動ポリシーと再試行の最大回数を定義します。

  • 装飾パネルのドラッグ時のパフォーマンスの改善とパフォーマンス計測: AAOS は、インタラクティブ パネルのドラッグ アニメーションのパフォーマンスを向上させ、スケーラブル UI ライブラリに計測機能を追加して、主要なユーザー ジャーニーにおける不協和音を測定します。

    OEM Perfetto トレースは、ウィンドウ処理とスケーラブル UI ライブラリで発生していることに関する固有のメタデータ レポートを追加で提供します。

  • パネル装飾ビューがテーマの変更に適応して応答: パネルのテーマ設定が、ライトモードとダークモードの切り替えや SysUI レベルでのその他のテーマ設定の更新など、テーマの変更に適応します。

ユーザー デバッグ コマンドとデベロッパー ツール:

  • シェル コマンドは現在のパネルの状態を出力し、adb を介してイベントを送信します。adb コマンドを使用して、パネルの開閉などの視覚的なパネルの状態を変更します。

    シェルコマンドは、システムでイベントをトリガーします。たとえば、アプリ グリッド パネルが開いているときに閉じるには、adb shell cmd statusbar carsysui-dispatch-event close_app_grid を実行します。

  • パネルの状態がアクティビティ dumpsys に含まれる: アクティビティ dumpsys にパネルの状態が含まれます。デバッグツールを使用して、dumpsys adb シェルコマンドでパネルの状態を取得します。

    このコマンドは、視覚的なアクションが発生していない場合に、現在のパネルの状態を表示します。コマンドは次のとおりです。

    adb shell cmd statusbar carsysui-dump-panelstates
    

OEM のロギングとデータ トラッキング

  • 車両データ サブスクリプション イベントにロギングを追加: データ トラッキングを改善するため、OEM 向けにユーザー接続ロギングが利用可能になりました。

コアアプリ

自動車対応モバイルアプリの互換性定義ドキュメント(CDD)と互換性テストスイート(CTS)の準拠を検証するため、自動車環境におけるサードパーティ製アプリの互換性とユーザビリティが強化されています。シームレスなナビゲーションのベスト プラクティスを示すため、戻るアフォーダンスの参照サンプルが用意されています。

  • アクティビティ ブロッキング アクティビティ(ABA)の機能強化: ライフサイクル管理を改善するため、AAOS は OnStop ABA の動作を改良します。

  • アプリのレンダリングの安全な長方形: コンテンツの可視性を確認し、オクルージョンを回避するため、AAOS はアプリの指定された表示領域を定義します。

  • DPI スケーリング: AAOS は、ディスプレイの解像度と視聴距離に基づいて UI 要素を最適化します。

  • アプリごとのオーバーライド: AAOS では、向きやアスペクト比など、アプリの動作を制御できます。

  • 互換性の改善: AAOS には DocumentsUI などの Android のコア機能が含まれており、サードパーティ製アプリとの互換性が向上しています。

  • 代替アプリ コントロール: AAOS では、運転中にメディア センター以外の音声(特にコミュニケーション アプリの音声)を操作できます。

VHAL プロパティ

  • プロパティ列挙型 @SystemApi タグ: AAOS では、サードパーティ製アプリが、サードパーティ製アプリがアクセス可能として指定されたプロパティ列挙型にアクセスできます。

音声

  • フェードとバランスの API: AAOS は、ユーザーの現在のフェードとバランスの設定を取得するために、ファーストパーティ アプリを更新します。これらの音量レベルは、イグニッション サイクル全体でユーザーごとに保持されます。このアップデートにより、カーオーディオ API の他のユーザー制御のオーディオ設定とのパリティが実現します。

プライバシー

  • Google 利用規約のゲート: ユーザーが Google 利用規約に同意するまで、アプリを無効にできます。無効にしたアプリのアイコンは、非アクティブ状態を示すためにグレーで表示されます。

    無効になっているアプリをタップすると、Google 利用規約への同意を求めるメッセージがユーザーに表示されます。

    Android 25Q4 では、この機能は、スケーラブル UI を使用して構成されたバックグラウンド パネルに永続的な Google エクスペリエンスを配置する OEM エクスペリエンスと互換性があります。たとえば、ホーム画面のエクスペリエンスとして設定された永続的な Google マップのアクティビティは、ユーザーが Google 利用規約のゲートを受け入れるまでグレー表示されます。

コンプライアンス

AAOS は、GSI の CTS、CTS-V、ATS、ATS-V、STS、VTS、CTS on GSI のテストスイートを使用して、Cuttlefish と内部参照ハードウェアで Android コンプライアンスをテストします。

以下の問題を除き、Android 16 コード(android16-release)や Android 16 テストブランチ(android16-m1-tests-dev)で修正を必要とする欠陥は見つかりませんでした。

これらのコンプライアンスの問題は、今後の AOSP リリースで対処する予定です。

  • CtsAppSecurityHostTestCases: RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCases: AudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCases: PermissionTest23#testInteractiveGrant

Android 25Q4 のテスト不合格

このセクションでは、Cuttlefish に固有の Android 25Q4 の失敗したテストケースを列挙します。失敗したテストは、内部参照ハードウェアでは合格します。Cuttlefish と内部参照ハードウェアで一貫性のないテストケースを確認します。

テストの不整合は、テストの失敗が複数回発生した 15 回の連続ビルドの結果を評価することで判断します。

テストケース 発生回数
CtsWindowManagerBackgroundActivityTestCases 6
CtsJvmtiAttachingHostTestCases 5
CtsViewTestCases 5
CtsStagedInstallHostTestCases 3
CtsUiRenderingTestCases27 2
CtsWindowManagerDeviceActivity 2
CtsAppOpsTestCases 1
CtsNetTestCasesLegacyApi22 1
CtsStatsdAtomHostTestCases 1
CtsUiRenderingTestCases 1