Si prevede che gli OEM passino alla versione più recente di car-ui-lib-plugin-apis
(1.2.0 o successiva) il prima possibile. Idealmente, gli OEM non dovrebbero fornire plug-in che utilizzano una versione precedente.
Perché questo aggiornamento?
Le API Java 8+ sono supportate per le versioni precedenti di Android tramite il supporto per la desugaring dell'API Java 8+ . Le implementazioni delle API mancanti vengono compilate nelle app e il codice byte degli APK viene riscritto per fare riferimento alle implementazioni anziché alle librerie sulla piattaforma.
Il caricamento di implementazioni OEM di componenti dell'interfaccia utente da un plug-in Car UI Library richiede il riferimento ai metodi definiti dalle interfacce car-ui-lib-plugin-apis
. Questi riferimenti ai metodi vengono effettuati dalle app ai plug-in della libreria dell'interfaccia utente di Car in fase di runtime con l'aspettativa che le firme dei metodi siano identiche nelle implementazioni di app e plug-in.
Alcuni sistemi di build consentono il desugaring dell'API in ogni momento a causa dei requisiti di un livello SDK minimo specifico. Le firme dei metodi disattivati per le interfacce car-ui-lib-plugin-apis
potrebbero non corrispondere a quelle di un'implementazione del plug-in OEM che non è stata disattivata, con il risultato che i plug-in non vengono caricati.
Di conseguenza, alcune app GAS compilate con il sistema di build interno di Google non sono compatibili con il plug-in Car UI Library. Pertanto, abbiamo rimosso tutte le dipendenze dalle API Java 8 (e successive) che richiedono il desugaring. Questa modifica richiede aggiornamenti all'API delle interfacce definite da car-ui-lib-plugin-apis
.
Passaggi richiesti per i plug-in OEM
Segui questi passaggi per aggiornare la tua API:
Aggiorna l'implementazione del plugin per utilizzare la versione più recente di
car-ui-lib-plugin-apis
. Per ottenere la versione più recente di (1.2.0 o successiva), vedere Maven Repository di Google .Aggiorna l'implementazione del plugin per implementare l'interfaccia
PluginFactoryOEMV4
. Questa modifica richiede i seguenti passaggi quando un componente viene implementato dal plug-in OEM. Aggiorna l'implementazione OEM di:Barra degli strumenti, per implementare
ToolbarControllerOEMV2
.Elementi dell'elenco dei contenuti, per estendere
ContentListItemOEMV2
.Gestione dei risultati della ricerca IME, per estendere
ImeSearchInterfaceOEMV2
.
Aggiorna l'app per utilizzare la versione più recente della libreria dell'interfaccia utente dell'auto.
Cosa succede se questo aggiornamento non viene applicato?
Se i passaggi forniti in questa pagina non vengono completati per un plug-in OEM, le app dezuccherate, come Google Automotive Services (GAS), non riescono a caricare le implementazioni del plug-in Car UI Library e non viene applicata alcuna personalizzazione OEM tramite il meccanismo del plug-in.
Le personalizzazioni RRO esistenti per la libreria dell'interfaccia utente dell'auto non sono interessate da questo problema e continuano a funzionare normalmente.