Android Automotive 25Q4

本頁說明 Android Automotive OS (AAOS) 25Q4 版本的特色和強化功能。AAOS 25Q4 是正式的黃金版本,25Q4 提供八項新功能,並解決 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 Activity」示範。您可以在 car-apps-dev 分支版本中取得這個應用程式的原始碼。

效能和系統健康狀態

  • 停止先前使用者的應用程式:為了減少使用者切換延遲和記憶體用量,系統會在使用者切換程序中,提早停止先前使用者的應用程式。

系統體驗

可縮放的使用者介面

AAOS 新增了車輛專用的視窗解決方案,協助原始設備製造商以安全、符合規範且具成本效益的方式,透過可擴充的使用者介面開發進階視窗體驗。開發人員可透過這個架構,使用 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 包含核心 Android 功能 (例如 DocumentsUI),並改善第三方應用程式的相容性。

  • 替代應用程式控制項:AAOS 可讓使用者在開車時控制非媒體中心音訊,特別是透過通訊應用程式。

VHAL 屬性

  • 屬性列舉 @SystemApi 標記:AAOS 可讓第三方應用程式存取指定為可供第三方應用程式存取的屬性列舉。

音訊

  • 淡入/淡出和平衡 API:AAOS 會更新第一方應用程式,以擷取使用者目前的淡入/淡出和平衡設定。這些音訊音量會在點火週期內為每位使用者保留。這項更新可與車輛音訊 API 中其他使用者控制的音訊設定保持一致。

隱私權

  • Google 服務條款控管:使用者接受《Google 服務條款》前,您可以停用應用程式。已停用應用程式的圖示會顯示為灰色,表示處於閒置狀態。

    輕觸已停用的應用程式時,系統會提示使用者接受《Google 服務條款》。

    在 Android 25Q4 中,這項功能可與 OEM 體驗相容,將持續性 Google 體驗放置在以可調整大小的 UI 設定的背景面板上。舉例來說,如果使用者接受 Google 服務條款閘道前,將持續性 Google 地圖活動設為「住家」螢幕體驗,該活動會呈現灰色。

法規遵循

AAOS 會在 Cuttlefish 和內部參考硬體上,使用 GSI 的 CTS、CTS-V、ATS、ATS-V、STS、VTS 和 CTS 測試套件,測試 Android 相容性。

除了下列問題,Android 16 程式碼 (android16-release) 或 Android 16 測試分支 (android16-m1-tests-dev) 中,不需要修正任何失敗項目。

我們預計在即將發布的 AOSP 版本中解決這些法規遵循問題。

  • CtsAppSecurityHostTestCasesRoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCasesAudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCasesPermissionTest23#testInteractiveGrant

Android 25Q4 測試失敗

本節列出 Android 25Q4 的失敗測試案例,這些案例僅適用於 Cuttlefish。失敗的測試會在內部參考硬體上通過。我們會確認 Cuttlefish 和內部參考硬體上是否有任何不一致的測試案例。

我們會評估連續 15 個建構版本的結果,如果期間發生多組測試失敗,就會判定測試不一致。

測試案例 發生次數
CtsWindowManagerBackgroundActivityTestCases 6
CtsJvmtiAttachingHostTestCases 5
CtsViewTestCases 5
CtsStagedInstallHostTestCases 3
CtsUiRenderingTestCases27 2
CtsWindowManagerDeviceActivity 2
CtsAppOpsTestCases 1
CtsNetTestCasesLegacyApi22 1
CtsStatsdAtomHostTestCases 1
CtsUiRenderingTestCases 1