Android Automotive 25Q4

本頁說明 Android Automotive OS (AAOS) 25Q4 版本的特色和強化功能。AAOS 25Q4 是正式的黃金版本,25Q4 提供八項新功能,並解決 180 個問題。

AAOS 25Q4 使用 API 級別 36。

功能

這個 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 設定中以宣告式語言設計視窗結構。

  • 可擴充使用者介面中的工作焦點:導入一組規則,判斷多視窗環境中的哪個工作會成為焦點 (例如開啟和關閉面板)。Focus 標記中的新 onTransition 屬性提供更精細的控制選項。

  • 可擴充 UI 的自動重新啟動機制:可擴充 UI 面板現在會重新啟動故障的應用程式,妥善處理應用程式當機問題。我們推出自動工作重新啟動機制,解決 UI 面板中工作意外終止的問題。您可以使用新的 <Restart> XML 標記定義重新啟動政策和重試次數上限,設定這項機制。

  • 拖曳裝飾面板時的效能提升和效能檢測:AAOS 可提升互動式面板拖曳動畫的效能。此外,這項功能還會在 Scalable UI 程式庫中加入檢測工具,以便在重要使用者歷程中評估不一致性。

    OEM Perfetto 追蹤記錄會提供額外中繼資料,專門用於回報視窗化和可擴充 UI 程式庫中發生的情況。

  • 面板裝飾檢視畫面會配合主題變更進行調整:面板主題會配合主題變更進行調整。例如淺色和深色模式,或 SysUI 層級的其他主題變更。

使用者偵錯指令和開發人員工具:

  • 殼層指令會輸出目前的面板狀態,並透過 adb 傳送事件: 使用 adb 指令變更視覺面板狀態,例如開啟或關閉面板。

    這個殼層指令會觸發系統事件。舉例來說,如要關閉開啟的應用程式格線面板,請執行 adb shell cmd statusbar carsysui-dispatch-event close_app_grid

  • 面板狀態會納入活動 dumpsys:活動 dumpsys 會納入面板狀態。使用偵錯工具 (adb 指令) 搭配 dumpsys (=adb shell 指令) 取得面板狀態。

    如果沒有發生視覺動作,這項指令會顯示目前的面板狀態。 指令如下:

    adb shell cmd statusbar carsysui-dump-panelstates
    

OEM 記錄和資料追蹤

  • 為車輛資料訂閱事件新增記錄。為改善資料追蹤,我們為原始設備製造商啟用使用者連線記錄。

核心應用程式

為協助驗證車用應用程式 (CaRMA) 是否符合 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 上的下列測試套件測試 Android 相容性:CTS、CTS-V、ATS、ATS-V、STS、VTS 和 CTS on GSI。

除了下列問題外,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