Questa pagina descrive le funzionalità e i miglioramenti della release 25Q4 di Android Automotive OS (AAOS). AAOS 25Q4 è una release golden ufficiale. 25Q4 offre otto nuove funzionalità e risolve 180 problemi.
AAOS 25Q4 utilizza il livello API 36.
Funzionalità
Questa release di AAOS fornisce le nuove funzionalità descritte qui.
Framework
Supporto del selettore rotativo per Jetpack Compose:
Android 14 e versioni successive:AAOS fornisce il supporto rotativo di base integrato per le interfacce utente Jetpack Compose, inclusa la rotazione e lo spostamento del controller.
Android 12, Android 12L e Android 13:AAOS offre un supporto limitato per la rotazione delle UI di Compose. La rotazione del controller funziona con una soluzione alternativa lato app. Non supportiamo i promemoria.
Per saperne di più, guarda la demo Visualizza attività di composizione nell'app
RotaryPlayground. Scarica il codice sorgente di questa app nel ramocar-apps-dev.
Prestazioni e integrità del sistema
- Arresto delle app degli utenti precedenti:per ridurre la latenza del cambio utente e l'utilizzo della memoria, il sistema arresta le app dell'utente precedente prima nel processo di cambio utente.
Esperienza di sistema
UI scalabile
AAOS aggiunge una soluzione di gestione delle finestre specifica per il settore automobilistico per consentire agli OEM di sviluppare esperienze avanzate di gestione delle finestre con l'interfaccia utente scalabile in modo sicuro, conforme ed economico. Questo framework consente agli sviluppatori di progettare una struttura di finestre con un linguaggio dichiarativo nelle configurazioni XML.
Focus sulle attività nell'interfaccia utente scalabile:introduce un insieme di regole per determinare quale attività riceve il focus in un ambiente multi-finestra (ad esempio, apertura e chiusura dei riquadri). Un nuovo attributo
onTransitionnel tagFocusfornisce un controllo più granulare.Meccanismo di riavvio automatico nell'interfaccia utente scalabile: i riquadri dell'interfaccia utente scalabile ora gestiscono correttamente gli arresti anomali delle app riavviando le app difettose. Introduciamo un meccanismo di riavvio automatico delle attività per risolvere le interruzioni impreviste delle attività nei pannelli dell'interfaccia utente, che configuri con un nuovo tag XML
<Restart>per definire una policy di riavvio e il numero massimo di tentativi.Miglioramenti delle prestazioni durante il trascinamento dei pannelli decorativi e strumentazione delle prestazioni:AAOS offre un miglioramento delle prestazioni per le animazioni di trascinamento dei pannelli interattivi. Inoltre, aggiunge la strumentazione alla libreria Scalable UI per misurare la dissonanza durante i percorsi utente chiave.
Le tracce OEM Perfetto forniscono report di metadati aggiuntivi specifici per ciò che accade nel windowing e nella libreria Scalable UI.
Le visualizzazioni delle decorazioni del pannello si adattano e rispondono alle modifiche del tema:i temi del pannello si adattano alle modifiche del tema. Ad esempio, tra la modalità Luce e la modalità Buio o altre modifiche del tema a livello di SysUI.
Comandi di debug utente e strumenti per sviluppatori:
I comandi shell restituiscono lo stato attuale del pannello e inviano eventi tramite adb: Utilizza i comandi
adbper modificare gli stati del pannello visivo, ad esempio per aprire o chiudere un pannello.Il comando della shell attiva un evento sul sistema. Ad esempio, per chiudere il riquadro della griglia delle app quando è aperto, esegui
adb shell cmd statusbar carsysui-dispatch-event close_app_grid.Lo stato del pannello è incluso in dumpsys dell'attività: dumpsys dell'attività include lo stato del pannello. Utilizza gli strumenti di debug (comando adb) per ottenere gli stati del pannello con dumpsys (comando shell
=adb).Il comando mostra gli stati attuali del pannello quando non si verifica alcuna azione visiva. Il comando è:
adb shell cmd statusbar carsysui-dump-panelstates
Logging e monitoraggio dei dati OEM
- Aggiunge la registrazione agli eventi di abbonamento ai dati dell'auto. Per migliorare il monitoraggio dei dati, attiviamo la registrazione della connettività utente per gli OEM.
App principali
Per contribuire a verificare la conformità a CDD e CTS per le app mobile ideali per le auto (CaRMA), miglioriamo la compatibilità e l'usabilità delle app di terze parti negli ambienti automobilistici. Per mostrare le best practice per una navigazione fluida, aggiungiamo esempi di riferimento per l'affordance Indietro.
Miglioramenti dell'attività di blocco dell'attività (ABA): per migliorare la gestione del ciclo di vita, AAOS perfeziona il comportamento di OnStop ABA.
Rettangolo sicuro per il rendering dell'app. Per contribuire a verificare la visibilità dei contenuti e per evitare l'occlusione, AAOS definisce un'area di visualizzazione delle app designata.
Scalabilità DPI:AAOS ottimizza gli elementi dell'interfaccia utente in base alla risoluzione del display e alla distanza di visualizzazione.
Override per app:AAOS ti consente di controllare il comportamento delle app, ad esempio orientamento e proporzioni.
Miglioramenti della compatibilità: AAOS include le funzionalità principali di Android, come DocumentsUI, e aggiunge miglioramenti alla compatibilità con app di terze parti.
Controlli alternativi delle app:AAOS consente agli utenti di controllare l'audio non multimediale durante la guida, in particolare dalle app di comunicazione.
Proprietà VHAL
- Tag enum proprietà
@SystemApi: AAOS consente l'accesso di terze parti agli enum che le proprietà hanno recentemente designato come accessibili dalle app di terze parti.
Audio
- API Fade e Balance: AAOS migliora le app proprietarie per recuperare le impostazioni di dissolvenza e bilanciamento correnti di un utente. Questi livelli audio vengono mantenuti per ogni utente durante i cicli di accensione. Questo aggiornamento fornisce la parità con altre impostazioni audio controllate dall'utente nelle API audio per auto.
Privacy
Controllo dei Termini di servizio di Google:puoi disattivare le app finché l'utente non accetta i Termini di servizio di Google. Le icone delle app disattivate vengono visualizzate in grigio per indicare uno stato di inattività.
Se toccano un'app disattivata, agli utenti viene chiesto di accettare i Termini di servizio di Google.
In Android 25Q4, questa funzionalità è compatibile con le esperienze OEM che posizionano esperienze Google persistenti su un pannello di sfondo configurato utilizzando l'interfaccia utente scalabile. Ad esempio, un'attività di Google Maps persistente impostata come esperienza Schermata Home viene visualizzata in grigio finché un utente non accetta i Termini di servizio di Google.
Conformità
AAOS verifica la conformità di Android su Cuttlefish e sull'hardware di riferimento interno con queste suite di test su GSI: CTS, CTS-V, ATS, ATS-V, STS, VTS e CTS su GSI.
Nessun errore richiede correzioni nel codice di Android 16 (android16-release) o nel
ramo di test di Android 16 (android16-m1-tests-dev), ad eccezione dei problemi elencati
di seguito.
Prevediamo di risolvere questi problemi di conformità in una prossima release AOSP.
CtsAppSecurityHostTestCases:RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUserCtsMediaHostTestCases:AudioServiceRebootHostTest#testVolumePersists_AfterRebootCtsPermissionUiTestCases:PermissionTest23#testInteractiveGrant
Test non riusciti di Android 25Q4
Questa sezione elenca gli scenari di test non riusciti per Android 25Q4 specifici solo per Cuttlefish. I test non riusciti vengono superati sull'hardware di riferimento interno. Confermiamo eventuali scenari di test incoerenti su Cuttlefish e sull'hardware di riferimento interno.
Determiniamo l'incoerenza del test valutando i risultati di 15 build consecutive durante le quali si verificano più gruppi di errori di test.
| Scenario di test | Occorrenze |
|---|---|
CtsWindowManagerBackgroundActivityTestCases |
6 |
CtsJvmtiAttachingHostTestCases |
5 |
CtsViewTestCases |
5 |
CtsStagedInstallHostTestCases |
3 |
CtsUiRenderingTestCases27 |
2 |
CtsWindowManagerDeviceActivity |
2 |
CtsAppOpsTestCases |
1 |
CtsNetTestCasesLegacyApi22 |
1 |
CtsStatsdAtomHostTestCases |
1 |
CtsUiRenderingTestCases |
1 |