Appendice C, versione minima compatibile per l'API Car UI Plugin

Gli OEM dovrebbero passare alla versione più recente di car-ui-lib-plugin-apis (1.2.0 o successive) il prima possibile. Idealmente, gli OEM non dovrebbero fornire alcun plug-in che utilizzi una versione precedente.

Perché questo aggiornamento?

Le API Java 8 e versioni successive sono supportate per le versioni precedenti di Android tramite il supporto per il desugaring delle API Java 8 e versioni successive. Le implementazioni delle API mancanti vengono compilate nelle app e il codice bytecode degli APK viene riscritto in modo da fare riferimento alle implementazioni anziché alle librerie sulla piattaforma.

Il caricamento delle implementazioni OEM dei componenti dell'interfaccia utente da un plug-in della libreria dell'interfaccia utente dell'auto richiede il riferimento ai metodi definiti dalle interfacce car-ui-lib-plugin-apis. Questi riferimenti ai metodi vengono eseguiti dalle app ai plug-in della libreria dell'interfaccia utente dell'auto in fase di runtime, con la previsione che le firme dei metodi siano identiche nelle implementazioni di app e plug-in.

Alcuni sistemi di compilazione attivano sempre la desugaring dell'API a causa dei requisiti di un livello SDK minimo specifico. Le firme dei metodi desugared per le interfacce car-ui-lib-plugin-apis potrebbero non corrispondere a quelle di un'implementazione del plug-in OEM che non è stata desugared, il che comporta il mancato caricamento dei plug-in.

Di conseguenza, alcune app GAS compilate con il sistema di compilazione interno di Google sono incompatibili con il plug-in della libreria dell'interfaccia utente dell'auto. Pertanto, abbiamo rimosso tutte le dipendenze dalle API Java 8 (e versioni successive) che richiedono il desugaring. Questa modifica richiede aggiornamenti all'API delle interfacce definite da car-ui-lib-plugin-apis.

Passaggi obbligatori per i plug-in OEM

Per aggiornare l'API:

  1. Aggiorna l'implementazione del plug-in per utilizzare la versione più recente di car-ui-lib-plugin-apis. Per scaricare la versione più recente (1.2.0 o successiva), consulta il Repository Maven di Google.

  2. Aggiorna l'implementazione del plug-in 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:

    1. Barra degli strumenti, per implementare ToolbarControllerOEMV2.

    2. Elementi dell'elenco di contenuti per estendere ContentListItemOEMV2.

    3. Gestione dei risultati di ricerca IME, per estendere ImeSearchInterfaceOEMV2.

  3. Aggiorna l'app per utilizzare la versione più recente della libreria dell'interfaccia utente dell'auto.

Che 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 desugared, come Google Automotive Services (GAS), non riescono a caricare le implementazioni del plug-in Car UI Library e non vengono applicate personalizzazioni 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.