Guide d'intégration de la bibliothèque d'interface utilisateur automobile

La boîte à outils Car User Interface (UI) fournit un cadre de développement d'interface utilisateur que vous pouvez utiliser pour garantir que les applications présentes dans les voitures (applications Google et applications système et fournisseurs) peuvent atteindre :

  • Auto-cohérence UI/UX de l’infodivertissement. L'autocohérence est la capacité d'un utilisateur à prédire comment interagir avec un système d'infodivertissement en fonction de ses expériences antérieures d'interaction avec le même système.

  • Personnalisation. Les équipementiers peuvent modifier l’apparence du système pour intégrer au mieux les fonctionnalités à l’intérieur et au matériel du véhicule.

Pour en savoir plus sur l'intégration de la bibliothèque Car UI, consultez ces pages :

À propos de la bibliothèque Car UI

La bibliothèque Car UI est une bibliothèque liée statiquement, qui fournit un ensemble de composants et de ressources que vous pouvez utiliser pour implémenter :

  • Applications système et OEM (Gerrit)
  • Applications Android Automotive (AAOS)

Cette bibliothèque sert de :

  • API de personnalisation par :

    • Définir les ressources qui peuvent être personnalisées, notamment les couleurs, les dimensions et les éléments dessinables.
    • Traiter les ressources comme une API avec des garanties rétrocompatibles.
  • Couche de compatibilité entre la solution à court terme fournie dans Android 9 et Android 10 et la solution à plus long terme en cours de développement.

Superpositions de ressources

Android propose actuellement plusieurs façons d'appliquer des personnalisations sans travail supplémentaire nécessaire aux sous-systèmes et applications concernés :

  • Superpositions au moment de la construction. Cette personnalisation est appliquée au moment de la création de l’image système Android. Pendant la construction, toutes les applications du système reçoivent des ressources de leur dossier res et des dossiers overlay définis dans les makefiles cibles.

  • Superpositions d'exécution dynamiques (RRO dynamique). Ces APK spéciaux contiennent uniquement des ressources et un fichier manifeste pour indiquer quel APK cible ils affecteront. Les RRO dynamiques sont compilés et déployés indépendamment de l'image système et peuvent être activés et désactivés. Lorsque le système effectue une recherche de ressources pour une application spécifique, le système vérifie également tout RRO la ciblant et si le RRO contient une ressource portant le même nom.

  • Superpositions d'exécution statiques (RRO statique). Semblables aux RRO dynamiques dans leur structure, ceux-ci sont toujours activés , ce qui signifie qu'ils ne peuvent pas être désinstallés ou mis à jour sans effectuer une mise à niveau complète de l'image système. Les RRO statiques servent d’intermédiaire entre les superpositions de temps de construction et d’exécution dynamique.

En plus des composants d'interface utilisateur, la bibliothèque Car UI fournit un mécanisme permettant de superposer directement les ressources (liées statiquement à chaque application) avec les ressources OEM, à l'aide d'un ensemble de RRO statiques . Les OEM doivent fournir un dossier contenant leurs superpositions de ressources et une liste des applications ciblées. Lors d'une construction, l'infrastructure de la bibliothèque Car UI utiliserait ces informations pour générer un RRO statique pour chaque application ciblée.

Composants de la bibliothèque de l'interface utilisateur de voiture

Figure 1 . Composants de la bibliothèque de l'interface utilisateur de voiture

Dans l'image ci-dessus :

  • Vert . Personnalisation fournie par l'OEM, un mélange de ressources de superposition au moment de la construction et de l'exécution.

  • Jaune. Support fourni par la bibliothèque Car UI, y compris les ressources superposables , les composants (code Java) et le support de build pour générer les RRO nécessaires.

  • Bleu. Cibles personnalisables, notamment le framework, les applications système, les applications des fournisseurs et les applications GAS qui utilisent la bibliothèque Car UI pour personnaliser les éléments de l'interface utilisateur.