Guia de integração da biblioteca Car UI

O kit de ferramentas Car User Interface (UI) fornece uma estrutura de desenvolvimento de UI que você pode usar para garantir que os aplicativos presentes em carros (aplicativos do Google e aplicativos de sistema e de fornecedores) possam atingir:

  • Autoconsistência UI/UX do Infotainment. Autoconsistência é a capacidade de um usuário prever como interagir com um sistema de infoentretenimento com base em experiências anteriores de interação com o mesmo sistema.

  • Costumização. Os OEMs podem modificar a aparência do sistema para melhor integrar a funcionalidade com o interior e o hardware do veículo.

Para saber mais sobre a integração da Car UI Library, consulte estas páginas:

Sobre a biblioteca Car UI

A biblioteca Car UI é uma biblioteca vinculada estaticamente, que fornece um conjunto de componentes e recursos que você pode usar para implementar:

  • Aplicativos de sistema e OEM (Gerrit)
  • Aplicativos Android Automotivos (AAOS)

Esta biblioteca serve como:

  • API de personalização por:

    • Definir quais recursos podem ser personalizados, incluindo cores, dimensões e drawables.
    • Tratar os recursos como uma API com garantias de compatibilidade retroativa.
  • Camada de compatibilidade entre a solução de curto prazo fornecida no Android 9 e Android 10 e a solução de longo prazo atualmente em desenvolvimento.

Sobreposições de recursos

Atualmente, o Android oferece várias maneiras de aplicar personalizações sem a necessidade de trabalho adicional nos subsistemas e aplicativos afetados:

  • Sobreposições em tempo de construção. Essa personalização é aplicada no momento da criação da imagem do sistema Android. Durante a construção, todos os aplicativos no sistema recebem recursos de sua pasta res e de pastas overlay definidas nos makefiles de destino.

  • Sobreposições de tempo de execução dinâmicas (RRO dinâmico). Esses APKs especiais contêm apenas recursos e um arquivo de manifesto para indicar qual APK de destino eles afetarão. Os RROs dinâmicos são compilados e implantados independentemente da imagem do sistema e podem ser ativados e desativados. Quando o sistema realiza uma pesquisa de recursos para um aplicativo específico, o sistema também verifica se há algum RRO direcionado a ele e se o RRO contém um recurso com o mesmo nome.

  • Sobreposições de tempo de execução estáticas (RRO estático). Semelhante aos RROs dinâmicos em estrutura, eles estão sempre ativados , o que significa que não podem ser desinstalados ou atualizados sem realizar uma atualização completa da imagem do sistema. RROs estáticos servem como um intermediário entre sobreposições de tempo de construção e tempo de execução dinâmico.

Além dos componentes de UI, a biblioteca Car UI fornece um mecanismo para sobrepor diretamente recursos (vinculados estaticamente em cada aplicativo) com os recursos OEM, usando um conjunto de RROs estáticos . Os OEMs devem fornecer uma pasta contendo suas sobreposições de recursos e uma lista de aplicativos direcionados. Durante uma construção, a infraestrutura da biblioteca Car UI usaria essas informações para gerar um RRO estático para cada aplicativo de destino.

Componentes da biblioteca Car UI

Figura 1 . Componentes da biblioteca Car UI

Na imagem acima:

  • Verde . Personalização fornecida pelo OEM, uma combinação de recursos de sobreposição de tempo de construção e tempo de execução.

  • Amarelo. Suporte fornecido pela biblioteca Car UI, incluindo recursos sobrepostos , componentes (código Java) e suporte de construção para gerar os RROs necessários.

  • Azul. Destinos personalizáveis , incluindo estrutura, aplicativos de sistema, aplicativos de fornecedores e aplicativos GAS que usam a biblioteca Car UI para personalizar elementos de UI.