OEMs are expected to switch to the newest version of
(1.2.0 or higher) as soon as possible. Ideally, OEMs should not ship any plugin
that uses an older version.
Why this update?
Java 8+ APIs are supported for previous versions of Android through Java 8+ API desugaring support. Implementations of missing APIs are compiled into apps and the byte code of APKs are rewritten to reference the implementations instead of the libraries on the platform.
Loading OEM implementations of UI components from a Car UI Library plugin
requires the referencing of methods defined by
interfaces. These method references are made from apps to Car UI Library plugins
at runtime with the expectation that method signatures are identical in app and
Some build systems enable API desugaring at all times due to requirements of a
specific minimum SDK level. Desugared method signatures for
car-ui-lib-plugin-apis interfaces may not match those in an OEM plugin
implementation that has not been desugared, which results in plugins failing to
As a result, some GAS apps compiled with the internal Google build system are
incompatible with the Car UI Library plugin. Therefore, we've removed all
dependencies on Java 8 (and higher) APIs that require desugaring. This change
requires updates to the API of the interfaces defined by
Required steps for OEM plugins
The steps below describe how to update your API.
Update the plugin implementation to use the latest version of
car-ui-lib-plugin-apis. To get the latest version of (1.2.0 or higher), see Google's Maven Repository.
Update the plugin implementation to implement the
PluginFactoryOEMV4interface. This change requires the following steps when a component is implemented by the OEM plugin. Update the OEM implementation of:
Toolbar, to implement
Content list items, to extend
IME search results handing, to extend
Update the app to use the latest version of the Car UI Library.
What happens if this update is not applied?
If the steps provided above are not completed for an OEM plugin, desugared apps, such as the Google Automotive Services (GAS), fail to load implementations of the Car UI Library plugin and no OEM customizations are applied through the plugin mechanism.
Existing RRO customizations for the Car UI Library are not affected by this issue and continue to perform as usual.