A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Apêndice C, versão mínima compatível para a API Car UI Plugin
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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 fazer referência às 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
exige 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 APIs 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 do 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.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-06-12 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-06-12 UTC."],[],[],null,["# Appendix C, minimum compatible version for Car UI Plugin API\n\nOEMs are expected to switch to the newest version of `car-ui-lib-plugin-apis`\n(1.2.0 or higher) as soon as possible. Ideally, OEMs shouldn't ship any plugin\nthat uses an older version.\n\nWhy this update?\n----------------\n\n[Java 8+](https://developer.android.com/studio/write/java8-support-table) APIs\nare supported for previous versions of Android through [Java 8+ API desugaring\nsupport](https://developer.android.com/studio/write/java8-support#library-desugaring).\nImplementations of missing APIs are compiled into apps and the byte code of APKs\nare rewritten to reference the implementations instead of the libraries on the\nplatform.\n\nLoading OEM implementations of UI components from a Car UI Library plugin\nrequires the referencing of methods defined by `car-ui-lib-plugin-apis`\ninterfaces. These method references are made from apps to Car UI Library plugins\nat runtime with the expectation that method signatures are identical in app and\nplugin implementations.\n\nSome build systems enable API desugaring at all times due to requirements of a\nspecific minimum SDK level. Desugared method signatures for\n`car-ui-lib-plugin-apis` interfaces may not match those in an OEM plugin\nimplementation that has not been desugared, which results in plugins failing to\nload.\n\nAs a result, some GAS apps compiled with the internal Google build system are\nincompatible with the Car UI Library plugin. Therefore, we've removed all\ndependencies on Java 8 (and higher) APIs that require desugaring. This change\nrequires updates to the API of the interfaces defined by\n`car-ui-lib-plugin-apis`.\n\nRequired steps for OEM plugins\n------------------------------\n\nFollow these steps to update your API:\n\n1. Update the plugin implementation to use the latest version of\n `car-ui-lib-plugin-apis`. To get the latest version of (1.2.0 or higher),\n see [Google's Maven\n Repository](https://maven.google.com/web/index.html#com.android.car.ui:car-ui-lib-plugin-apis).\n\n2. Update the plugin implementation to implement the `PluginFactoryOEMV4`\n interface. This change requires the following steps when a component is\n implemented by the OEM plugin. Update the OEM implementation of:\n\n 1. Toolbar, to implement `ToolbarControllerOEMV2`.\n\n 2. Content list items, to extend `ContentListItemOEMV2`.\n\n 3. IME search results handing, to extend `ImeSearchInterfaceOEMV2`.\n\n3. Update the app to use the latest version of the Car UI Library.\n\nWhat happens if this update is not applied?\n-------------------------------------------\n\nIf the steps provided on this page aren't completed for an OEM plugin, desugared\napps, such as the Google Automotive Services (GAS), fail to load implementations\nof the Car UI Library plugin and no OEM customizations are applied through the\nplugin mechanism.\n\nExisting RRO customizations for the Car UI Library are not affected by this\nissue and continue to perform as usual."]]