Les OEM doivent passer à la dernière version de car-ui-lib-plugin-apis
(1.2.0 ou version ultérieure) dès que possible. Dans l'idéal, les OEM ne doivent pas distribuer de plug-in utilisant une ancienne version.
Pourquoi cette mise à jour ?
Les API Java 8 et versions ultérieures sont compatibles avec les versions précédentes d'Android grâce à la compatibilité avec le désucrage d'API Java 8 et versions ultérieures. Les implémentations des API manquantes sont compilées dans les applications, et le code octet des APK est réécrit pour faire référence aux implémentations plutôt qu'aux bibliothèques de la plate-forme.
Le chargement d'implémentations OEM de composants d'UI à partir d'un plug-in de bibliothèque Car UI nécessite de référencer les méthodes définies par les interfaces car-ui-lib-plugin-apis
. Ces références de méthode sont créées à partir d'applications vers des plug-ins de bibliothèque Car UI au moment de l'exécution, en supposant que les signatures de méthode sont identiques dans les implémentations d'application et de plug-in.
Certains systèmes de compilation activent le désucrage des API en permanence en raison des exigences d'un niveau de SDK minimal spécifique. Les signatures de méthode désucrées pour les interfaces car-ui-lib-plugin-apis
peuvent ne pas correspondre à celles d'une implémentation de plug-in OEM qui n'a pas été désucrée, ce qui entraîne l'échec du chargement des plug-ins.
Par conséquent, certaines applications GAS compilées avec le système de compilation interne de Google sont incompatibles avec le plug-in de la bibliothèque Car UI. Par conséquent, nous avons supprimé toutes les dépendances sur les API Java 8 (et versions ultérieures) qui nécessitent un désucrage. Cette modification nécessite des mises à jour de l'API des interfaces définies par car-ui-lib-plugin-apis
.
Étapes requises pour les plug-ins OEM
Pour mettre à jour votre API, procédez comme suit:
Mettez à jour l'implémentation du plug-in pour utiliser la dernière version de
car-ui-lib-plugin-apis
. Pour obtenir la dernière version (1.2.0 ou version ultérieure), consultez le dépôt Maven de Google.Mettez à jour l'implémentation du plug-in pour implémenter l'interface
PluginFactoryOEMV4
. Cette modification nécessite les étapes suivantes lorsqu'un composant est implémenté par le plug-in OEM. Mise à jour de l'implémentation OEM de:Barre d'outils, pour implémenter
ToolbarControllerOEMV2
.Éléments de liste de contenu, pour étendre
ContentListItemOEMV2
.Gestion des résultats de recherche de l'IME pour étendre
ImeSearchInterfaceOEMV2
.
Mettez à jour l'application pour utiliser la dernière version de la bibliothèque Car UI.
Que se passe-t-il si cette mise à jour n'est pas appliquée ?
Si vous ne suivez pas les étapes indiquées sur cette page pour un plug-in OEM, les applications désucrées, telles que les services Google Automotive (GAS), ne parviennent pas à charger les implémentations du plug-in de la bibliothèque d'interface utilisateur pour voitures, et aucune personnalisation OEM n'est appliquée via le mécanisme de plug-in.
Les personnalisations RRO existantes pour la bibliothèque Car UI ne sont pas affectées par ce problème et continuent de fonctionner comme d'habitude.