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. Idéalement, les OEM ne devraient pas distribuer de plug-in qui utilise 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é du désucrage des API Java 8 et versions ultérieures. Les implémentations des API manquantes sont compilées dans les applications, et le code d'octet des APK est réécrit pour référencer les implémentations au lieu des bibliothèques sur la plate-forme.
Le chargement des implémentations OEM des composants d'UI à partir d'un plug-in de la bibliothèque Car UI nécessite le référencement des méthodes définies par les interfaces car-ui-lib-plugin-apis. Ces références de méthode sont effectuées à partir d'applications vers des plug-ins de la bibliothèque Car UI au moment de l'exécution, en s'attendant à ce que les signatures de méthode soient identiques dans les implémentations d'application et de plug-in.
Certains systèmes de compilation activent le désucrage des API à tout moment 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 ne sont pas compatibles avec le plug-in de la bibliothèque Car UI. Nous avons donc supprimé toutes les dépendances des 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.
Procédure à suivre 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. Mettez à jour l'implémentation OEM de :Barre d'outils, pour implémenter
ToolbarControllerOEMV2.Éléments de la liste de contenus, pour étendre
ContentListItemOEMV2.Gestion des résultats de recherche 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 les étapes fournies sur cette page ne sont pas effectuées pour un plug-in OEM, les applications désucrées, telles que les Google Automotive Services (GAS), ne parviennent pas à charger les implémentations du plug-in de la bibliothèque Car UI, 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.