Espera-se que os OEMs mudem para a versão mais recente do car-ui-lib-plugin-apis
(1.2.0 ou superior) o mais rápido possível. Idealmente, os OEMs não deveriam enviar nenhum plugin que use uma versão mais antiga.
Por que esta atualização?
As APIs Java 8+ são suportadas para versões anteriores do Android por meio do suporte de desugaring da API Java 8+ . As implementações de APIs ausentes são compiladas em aplicativos e o código de bytes dos APKs é reescrito para fazer referência às implementações em vez das bibliotecas na plataforma.
Carregar implementações OEM de componentes de UI de um plug-in Car UI Library requer a referência de métodos definidos pelas interfaces car-ui-lib-plugin-apis
. Essas referências de método são feitas de aplicativos para plug-ins da Car UI Library em tempo de execução com a expectativa de que as assinaturas de método sejam idênticas nas implementações de aplicativos e plug-ins.
Alguns sistemas de compilação permitem a simplificação da API em todos os momentos devido aos requisitos de um nível mínimo específico de SDK. Assinaturas de método sem açúcar para interfaces car-ui-lib-plugin-apis
podem não corresponder àquelas em uma implementação de plug-in OEM que não foi sem açúcar, o que resulta em falha no carregamento dos plug-ins.
Como resultado, alguns aplicativos GAS compilados com o sistema de compilação interno do Google são incompatíveis com o plug-in Car UI Library. Portanto, removemos todas as dependências de APIs Java 8 (e superiores) que exigem desugaring. Esta alteração requer atualizações na API das interfaces definidas por car-ui-lib-plugin-apis
.
Etapas necessárias para plug-ins OEM
Siga estas etapas para atualizar sua API:
Atualize a implementação do plugin para usar a versão mais recente de
car-ui-lib-plugin-apis
. Para obter a versão mais recente (1.2.0 ou superior), consulte o Repositório Maven do Google .Atualize a implementação do plugin para implementar a interface
PluginFactoryOEMV4
. Essa alteração requer as etapas a seguir quando um componente é implementado pelo plug-in OEM. Atualize a implementação OEM de:Barra de ferramentas, para implementar
ToolbarControllerOEMV2
.Itens da lista de conteúdo, para estender
ContentListItemOEMV2
.Entrega de resultados de pesquisa IME, para estender
ImeSearchInterfaceOEMV2
.
Atualize o aplicativo para usar a versão mais recente da Car UI Library.
O que acontece se esta atualização não for aplicada?
Se as etapas fornecidas nesta página não forem concluídas para um plug-in OEM, aplicativos sem açúcar, como o Google Automotive Services (GAS), não conseguem carregar implementações do plug-in Car UI Library e nenhuma personalização OEM será aplicada por meio do mecanismo de plug-in.
As personalizações RRO existentes para a Car UI Library não são afetadas por esse problema e continuam funcionando normalmente.