Les constructeurs OEM devraient passer à la version la plus récente de car-ui-lib-plugin-apis
(1.2.0 ou supérieure) dès que possible. Idéalement, les OEM ne devraient proposer aucun plugin utilisant une ancienne version.
Pourquoi cette mise à jour ?
Les API Java 8+ sont prises en charge pour les versions précédentes d'Android via la prise en charge du désucrage de l'API Java 8+ . Les implémentations des API manquantes sont compilées dans des applications et le code octet des APK est réécrit pour référencer les implémentations plutôt que les bibliothèques de la plateforme.
Le chargement d'implémentations OEM de composants d'interface utilisateur à partir d'un plugin Car UI Library 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 les plugins de la bibliothèque Car UI au moment de l'exécution, dans l'espoir que les signatures de méthode soient identiques dans les implémentations d'applications et de plugins.
Certains systèmes de build permettent la suppression des API à tout moment en raison des exigences d'un niveau SDK minimum spécifique. Les signatures de méthodes désucrées pour les interfaces car-ui-lib-plugin-apis
peuvent ne pas correspondre à celles d'une implémentation de plugin OEM qui n'a pas été désucrée, ce qui entraîne un échec de chargement des plugins.
Par conséquent, certaines applications GAS compilées avec le système de build interne de Google sont incompatibles avec le plugin Car UI Library. 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. Ce changement nécessite des mises à jour de l'API des interfaces définies par car-ui-lib-plugin-apis
.
Étapes requises pour les plugins OEM
Suivez ces étapes pour mettre à jour votre API :
Mettez à jour l'implémentation du plugin pour utiliser la dernière version de
car-ui-lib-plugin-apis
. Pour obtenir la dernière version de (1.2.0 ou supérieure), consultez le référentiel Maven de Google .Mettez à jour l'implémentation du plugin pour implémenter l'interface
PluginFactoryOEMV4
. Cette modification nécessite les étapes suivantes lorsqu'un composant est implémenté par le plugin OEM. Mettre à jour l'implémentation OEM de :Barre d'outils, pour implémenter
ToolbarControllerOEMV2
.Éléments de liste de contenu, pour étendre
ContentListItemOEMV2
.Remise 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 non sucrées, telles que Google Automotive Services (GAS), ne parviennent pas à charger les implémentations du plug-in Car UI Library et aucune personnalisation OEM n'est appliquée via le mécanisme du plug-in.
Les personnalisations RRO existantes pour la bibliothèque de l'interface utilisateur de la voiture ne sont pas affectées par ce problème et continuent de fonctionner comme d'habitude.