Cette page décrit les fonctionnalités et les améliorations de la version 25Q4 d'Android Automotive OS (AAOS). AAOS 25Q4 est une version Golden officielle. La version 25Q4 propose huit nouvelles fonctionnalités et résout 180 problèmes.
AAOS 25Q4 utilise le niveau d'API 36.
Fonctionnalités
Cette version d'AAOS fournit les nouvelles fonctionnalités décrites ici.
Framework
Compatibilité avec le sélecteur rotatif pour Jetpack Compose :
Android 14 et versions ultérieures : AAOS fournit une prise en charge rotative de base intégrée pour les interfaces utilisateur Jetpack Compose, y compris la rotation et le déplacement du contrôleur.
Android 12, Android 12L et Android 13 : AAOS offre une compatibilité limitée avec le sélecteur rotatif pour les UI Compose. La rotation du contrôleur fonctionne avec une solution de contournement côté application. Nous ne prenons pas en charge les suggestions.
Pour en savoir plus, consultez la démo View Compose Activity dans l'application
RotaryPlayground. Obtenez le code source de cette application sur la branchecar-apps-dev.
Performances et état du système
- Arrêter les applications des utilisateurs précédents : pour réduire la latence de changement d'utilisateur et l'empreinte mémoire, le système arrête les applications de l'utilisateur précédent plus tôt dans le processus de changement d'utilisateur.
Expérience système
Interface utilisateur évolutive
AAOS ajoute une solution de fenêtrage spécifique à l'automobile pour aider les OEM à développer des expériences de fenêtrage avancées avec une UI évolutive de manière sécurisée, conforme et économique. Ce framework permet aux développeurs de concevoir une structure de fenêtrage avec un langage déclaratif dans les configurations XML.
Concentration sur les tâches dans l'UI évolutive : introduit un ensemble de règles pour déterminer quelle tâche reçoit le focus dans un environnement multifenêtre (par exemple, lors de l'ouverture et de la fermeture de panneaux). Un nouvel attribut
onTransitiondans la baliseFocusoffre un contrôle plus précis.Mécanisme de redémarrage automatique dans l'UI évolutive : les panneaux de l'UI évolutive gèrent désormais correctement les plantages d'applications en relançant les applications défectueuses. Nous introduisons un mécanisme de redémarrage automatique des tâches pour faire face aux arrêts inattendus des tâches dans les panneaux d'interface utilisateur. Vous pouvez le configurer avec une nouvelle balise XML
<Restart>pour définir une règle de redémarrage et le nombre maximal de nouvelles tentatives.Amélioration des performances lors du déplacement des panneaux de décoration et instrumentation des performances : AAOS améliore les performances des animations de déplacement des panneaux interactifs. De plus, il ajoute une instrumentation à la bibliothèque Scalable UI pour mesurer la dissonance lors des parcours utilisateur clés.
Les traces Perfetto OEM fournissent des métadonnées supplémentaires spécifiques à ce qui se passe dans la gestion des fenêtres et dans la bibliothèque Scalable UI.
Les vues de décoration des panneaux s'adaptent aux changements de thème : la thématisation des panneaux s'adapte aux changements de thème. Par exemple, entre le mode clair et le mode sombre, ou d'autres modifications de thème au niveau de SysUI.
Commandes de débogage utilisateur et outils pour les développeurs :
Les commandes Shell affichent l'état actuel du panneau et envoient des événements via adb : Utilisez les commandes
adbpour modifier les états visuels du panneau, par exemple pour ouvrir ou fermer un panneau.La commande shell déclenche un événement sur le système. Par exemple, pour fermer le panneau de la grille d'applications lorsqu'il est ouvert, exécutez
adb shell cmd statusbar carsysui-dispatch-event close_app_grid.L'état du panneau est inclus dans le dumpsys d'activité : le dumpsys d'activité inclut l'état du panneau. Utilisez les outils de débogage (commande adb) pour obtenir les états du panneau avec dumpsys (commande shell
=adb).La commande affiche les états actuels des panneaux lorsqu'aucune action visuelle ne se produit. Exécutez pour cela la commande suivante :
adb shell cmd statusbar carsysui-dump-panelstates
Journalisation et suivi des données par les OEM
- Ajoute la journalisation aux événements d'abonnement aux données du véhicule. Pour améliorer le suivi des données, nous activons la journalisation de la connectivité utilisateur pour les OEM.
Applications principales
Pour vérifier la conformité au CDD et au CTS des applications mobiles adaptées aux voitures (CaRMA), nous améliorons la compatibilité et la facilité d'utilisation des applications tierces dans les environnements automobiles. Pour illustrer les bonnes pratiques de navigation fluide, nous ajoutons des exemples de référence pour l'affordance de retour.
Améliorations de l'activité de blocage d'activité (ABA) : pour améliorer la gestion du cycle de vie, AAOS affine le comportement ABA OnStop.
Rectangle sécurisé pour le rendu de l'application. Pour vérifier la visibilité du contenu et éviter l'occlusion, AAOS définit une zone d'affichage d'application désignée.
Scaling PPP : AAOS optimise les éléments d'interface utilisateur en fonction de la résolution de l'écran et de la distance de visionnage.
Forçages par application : AAOS vous permet de contrôler le comportement des applications, comme l'orientation et le format.
Améliorations de la compatibilité : AAOS inclut des fonctionnalités Android de base, telles que DocumentsUI, et ajoute des améliorations à la compatibilité avec les applications tierces.
Commandes alternatives pour les applications : AAOS permet aux utilisateurs de contrôler l'audio non lié au système multimédia pendant la conduite, en particulier à partir des applications de communication.
Propriétés VHAL
- Tag d'énumération de propriété
@SystemApi: AAOS permet aux tiers d'accéder aux énumérations que les propriétés ont récemment désignées comme accessibles par les applications tierces.
Audio
- API de fondu et d'équilibre : AAOS améliore les applications propriétaires pour récupérer les paramètres de fondu et d'équilibre actuels d'un utilisateur. Ces niveaux audio sont conservés pour chaque utilisateur lors des cycles d'allumage. Cette mise à jour permet d'atteindre la parité avec les autres paramètres audio contrôlés par l'utilisateur dans les API audio de la voiture.
Confidentialité
Accès aux conditions d'utilisation de Google : vous pouvez désactiver les applications jusqu'à ce que l'utilisateur accepte les conditions d'utilisation de Google. Les icônes des applications désactivées apparaissent en gris pour indiquer un état d'inactivité.
Si un utilisateur appuie sur une application désactivée, il est invité à accepter les conditions d'utilisation de Google.
Dans Android 25Q4, cette fonctionnalité est compatible avec les expériences OEM qui placent des expériences Google persistantes sur un panneau d'arrière-plan configuré à l'aide de l'UI évolutive. Par exemple, une activité Google Maps persistante définie comme expérience d'écran Accueil apparaît grisée jusqu'à ce qu'un utilisateur accepte les conditions d'utilisation de Google.
Conformité
AAOS teste la conformité Android sur Cuttlefish et le matériel de référence interne avec ces suites de tests sur GSI : CTS, CTS-V, ATS, ATS-V, STS, VTS et CTS sur GSI.
Aucune défaillance ne nécessite de correction dans le code Android 16 (android16-release) ni dans la branche de test Android 16 (android16-m1-tests-dev), à l'exception des problèmes listés ci-dessous.
Nous prévoyons de résoudre ces problèmes de conformité dans une prochaine version d'AOSP.
CtsAppSecurityHostTestCases:RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUserCtsMediaHostTestCases:AudioServiceRebootHostTest#testVolumePersists_AfterRebootCtsPermissionUiTestCases:PermissionTest23#testInteractiveGrant
Échecs des tests Android 25Q4
Cette section liste les cas de test ayant échoué pour Android 25Q4 qui sont spécifiques à Cuttlefish. Les tests qui échouent sont réussis sur le matériel de référence interne. Nous confirmons tout cas de test incohérent sur Cuttlefish et le matériel de référence interne.
Nous déterminons l'incohérence des tests en évaluant les résultats de 15 compilations consécutives au cours desquelles plusieurs groupes d'échecs de tests se produisent.
| Scénario de test | Occurrences |
|---|---|
CtsWindowManagerBackgroundActivityTestCases |
6 |
CtsJvmtiAttachingHostTestCases |
5 |
CtsViewTestCases |
5 |
CtsStagedInstallHostTestCases |
3 |
CtsUiRenderingTestCases27 |
2 |
CtsWindowManagerDeviceActivity |
2 |
CtsAppOpsTestCases |
1 |
CtsNetTestCasesLegacyApi22 |
1 |
CtsStatsdAtomHostTestCases |
1 |
CtsUiRenderingTestCases |
1 |