Os OEMs precisam mudar para a versão mais recente do car-ui-lib-plugin-apis
(1.2.0 ou mais recente) assim que possível. O ideal é que os OEMs não enviem nenhum plug-in
que use uma versão mais antiga.
Por que essa atualização?
As APIs do Java 8+ têm suporte para versões anteriores do Android com o suporte à simplificação de APIs do Java 8+. As implementações de APIs ausentes são compiladas em apps, e o código de bytes dos APKs é reescrito para referenciar as implementações em vez das bibliotecas na plataforma.
O carregamento de implementações OEM de componentes de interface de um plug-in da biblioteca da interface do carro
requer a referência de métodos definidos por interfaces
car-ui-lib-plugin-apis
. Essas referências de método são feitas de apps para plug-ins da biblioteca Car UI
no momento da execução, com a expectativa de que as assinaturas de método sejam idênticas nas implementações de
app e plug-in.
Alguns sistemas de build ativam a simplificação de API o tempo todo devido aos requisitos de um
nível mínimo específico do SDK. As assinaturas de método dessimplificadas para
interfaces car-ui-lib-plugin-apis
podem não corresponder às de uma implementação de plug-in
OEM que não foi dessimplificada, o que resulta em falha no
carregamento dos plug-ins.
Como resultado, alguns apps do GAS compilados com o sistema de build interno do Google são
incompatíveis com o plug-in da biblioteca da interface do carro. Portanto, removemos todas
as dependências de APIs do Java 8 (e mais recentes) que exigem simplificação. Essa mudança
exige 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 a API:
Atualize a implementação do plug-in para usar a versão mais recente de
car-ui-lib-plugin-apis
. Para instalar a versão mais recente (1.2.0 ou mais recente), consulte o Repositório Maven do Google.Atualize a implementação do plug-in para implementar a interface
PluginFactoryOEMV4
. Essa mudança exige as etapas a seguir quando um componente é implementado pelo plug-in OEM. Atualize a implementação do OEM de:Barra de ferramentas, para implementar
ToolbarControllerOEMV2
.Itens da lista de conteúdo, para estender
ContentListItemOEMV2
.Processamento de resultados de pesquisa do IME para estender
ImeSearchInterfaceOEMV2
.
Atualize o app para usar a versão mais recente da biblioteca de interface do carro.
O que acontece se essa atualização não for aplicada?
Se as etapas fornecidas nesta página não forem concluídas para um plug-in OEM, os apps simplificados, como o Google Automotive Services (GAS), não vão carregar as implementações do plug-in da biblioteca de interface do carro, e nenhuma personalização de OEM será aplicada pelo mecanismo do plug-in.
As personalizações de RRO atuais da biblioteca Car UI não são afetadas por esse problema e continuam funcionando normalmente.