Apéndice C, versión mínima compatible para la API del complemento Car UI

Se espera que los OEM cambien a la versión más reciente de car-ui-lib-plugin-apis (1.2.0 o superior) lo antes posible. Idealmente, los OEM no deberían enviar ningún complemento que utilice una versión anterior.

¿Por qué esta actualización?

Las API de Java 8+ son compatibles con versiones anteriores de Android mediante la compatibilidad con la eliminación de azúcar de la API de Java 8+ . Las implementaciones de las API faltantes se compilan en aplicaciones y el código de bytes de los APK se reescribe para hacer referencia a las implementaciones en lugar de a las bibliotecas de la plataforma.

La carga de implementaciones OEM de componentes de UI desde un complemento de Car UI Library requiere hacer referencia a métodos definidos por las interfaces car-ui-lib-plugin-apis . Estas referencias a métodos se realizan desde aplicaciones a complementos de la biblioteca Car UI en tiempo de ejecución con la expectativa de que las firmas de métodos sean idénticas en las implementaciones de aplicaciones y complementos.

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

Como resultado, algunas aplicaciones de GAS compiladas con el sistema de compilación interno de Google son incompatibles con el complemento Car UI Library. Por lo tanto, hemos eliminado todas las dependencias de las API de Java 8 (y superiores) que requieren desazucarado. Este cambio requiere actualizaciones de la API de las interfaces definidas por car-ui-lib-plugin-apis .

Pasos necesarios para los complementos OEM

Siga estos pasos para actualizar su API:

  1. Actualice la implementación del complemento para utilizar la última versión de car-ui-lib-plugin-apis . Para obtener la última versión (1.2.0 o superior), consulte el Repositorio Maven de Google .

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

    1. Barra de herramientas, para implementar ToolbarControllerOEMV2 .

    2. Elementos de la lista de contenido, para ampliar ContentListItemOEMV2 .

    3. Entrega de resultados de búsqueda IME, para extender ImeSearchInterfaceOEMV2 .

  3. Actualice la aplicación para utilizar la última versión de la biblioteca Car UI.

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

Si los pasos proporcionados en esta página no se completan para un complemento OEM, las aplicaciones desazucaradas, como Google Automotive Services (GAS), no pueden cargar implementaciones del complemento Car UI Library y no se aplican personalizaciones OEM a través del mecanismo del complemento.

Las personalizaciones de RRO existentes para la biblioteca de UI del automóvil no se ven afectadas por este problema y continúan funcionando como de costumbre.