Guia de integração da biblioteca da interface do carro

O kit de ferramentas da interface do usuário (IU) do carro oferece um framework de desenvolvimento de IU que pode ser usado para garantir que os apps presentes nos carros (apps do Google e do sistema e do fornecedor) possam alcançar:

  • Autoconsistência da interface/UX do infoentretenimento. A 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.

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

Para saber mais sobre a integração da Biblioteca de interface do carro, consulte estas páginas:

Sobre a biblioteca Car UI

A biblioteca de interface do carro é uma biblioteca vinculada de forma estática, que oferece um conjunto de componentes e recursos que podem ser usados para implementar:

  • Apps do sistema e OEM (Gerrit)
  • Apps Android Automotive (AAOS)

Essa 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 com versões anteriores.
  • Camada de compatibilidade entre o curto prazo fornecido no Android 9 e no Android 10 e a solução de longo prazo que está sendo desenvolvida.

Sobreposições de recursos

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

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

  • Overlays dinâmicos de execução (RRO dinâmico). Esses APKs especiais contêm apenas recursos e um arquivo de manifesto para indicar qual APK de destino eles vão afetar. 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 app específico, ele também verifica se há qualquer RRO direcionado a ele e se o RRO contém um recurso com o mesmo nome.

  • Sobreposições estáticas de execução (RRO estático). Assim como as RROs dinâmicas na estrutura, elas estão sempre ativas, o que significa que não podem ser desinstaladas ou atualizadas sem realizar uma atualização completa da imagem do sistema. As RROs estáticas servem como intermediárias de sobreposições dinâmicas e de build.

Além dos componentes da interface, a biblioteca de interface do carro oferece um mecanismo para sobrepor diretamente os recursos (vinculados estaticamente a cada app) com os recursos do OEM usando um conjunto de RROs estáticos. Os OEMs precisam fornecer uma pasta que contenha as sobreposições de recursos e uma lista de apps alvo. Durante um build, a infraestrutura da biblioteca de interface do carro usaria essas informações para gerar um RRO estático para cada app de destino.

Componentes da biblioteca de interface do carro

Figura 1. Componentes da biblioteca de interface do carro

Na imagem acima:

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

  • Amarelo. Suporte fornecido pela biblioteca de interface do Car, incluindo recursos sobrepostos , componentes (código Java) e suporte ao build para gerar as RROs necessárias.

  • Azul. Alvos personalizáveis, incluindo o framework, apps do sistema, apps do fornecedor e apps do GAS que usam a biblioteca Car UI para personalizar elementos de interface.