Apéndice C, versión mínima compatible con la API del complemento de la IU del vehículo

Se espera que los OEM cambien a la versión más reciente de car-ui-lib-plugin-apis (1.2.0 o posterior) lo antes posible. Lo ideal es que los OEM no lancen ningún complemento que use una versión anterior.

¿Por qué se implementó esta actualización?

Las APIs de Java 8 y versiones posteriores son compatibles con versiones anteriores de Android a través de la compatibilidad con la expansión de sintaxis de APIs de Java 8 y versiones posteriores. Las implementaciones de las APIs faltantes se compilan en las apps, y el código de bytes de los APKs se reescribe para hacer referencia a las implementaciones en lugar de a las bibliotecas de la plataforma.

Cargar implementaciones de OEM de componentes de IU desde un complemento de la biblioteca de la IU del vehículo requiere hacer referencia a métodos definidos por interfaces car-ui-lib-plugin-apis. Estas referencias de métodos se realizan desde las apps a los complementos de Car UI Library en el tiempo de ejecución con la expectativa de que las firmas de los métodos sean idénticas en las implementaciones de la app y del complemento.

Algunos sistemas de compilación habilitan la desazucaración de la API en todo momento debido a los requisitos de un nivel de SDK mínimo específico. Es posible que las firmas de métodos desazucarados para las interfaces de car-ui-lib-plugin-apis no coincidan con las de una implementación de un complemento del OEM que no se haya desazucarado, lo que provoca que los complementos no se carguen.

Como resultado, algunas apps de GAS compiladas con el sistema de compilación interno de Google son incompatibles con el complemento de la biblioteca de Car UI. Por lo tanto, quitamos todas las dependencias de las APIs de Java 8 (y versiones posteriores) que requieren expansión de sintaxis. Este cambio requiere actualizaciones en la API de las interfaces definidas por car-ui-lib-plugin-apis.

Pasos necesarios para los complementos de OEM

Sigue estos pasos para actualizar tu API:

  1. Actualiza la implementación del complemento para usar la versión más reciente de car-ui-lib-plugin-apis. Para obtener la versión más reciente (1.2.0 o posterior), consulta el repositorio de Maven de Google.

  2. Actualiza la implementación del complemento para implementar la interfaz PluginFactoryOEMV4. Este cambio requiere los siguientes pasos cuando el complemento del OEM implementa un componente. Actualiza la implementación del OEM de lo siguiente:

    1. Barra de herramientas para implementar ToolbarControllerOEMV2.

    2. Elementos de la lista de contenido para extender ContentListItemOEMV2.

    3. Control de los resultados de la búsqueda del IME para extender ImeSearchInterfaceOEMV2.

  3. Actualiza la app para usar la versión más reciente de la biblioteca de Car UI.

¿Qué sucede si no se aplica esta actualización?

Si no se completan los pasos que se proporcionan en esta página para un complemento de OEM, las apps desazucaradas, como los Servicios Automotrices de Google (GAS), no cargarán las implementaciones del complemento de la biblioteca de Car UI y no se aplicará ninguna personalización de OEM a través del mecanismo de complementos.

Las personalizaciones de RRRO existentes para la biblioteca de IU del vehículo no se ven afectadas por este problema y siguen funcionando como de costumbre.