O kit de ferramentas Car User Interface (UI) fornece uma estrutura de desenvolvimento de interface do usuário que você pode usar para garantir que os aplicativos presentes nos carros (aplicativos do Google e aplicativos do sistema e do fornecedor) possam alcançar:
Autoconsistência de Infotainment UI/UX. Autoconsistência é a capacidade de um usuário prever como interagir com um sistema de infoentretenimento com base em experiências anteriores interagindo com o mesmo sistema.
Costumização. Os OEMs podem modificar a aparência do sistema para integrar melhor a funcionalidade com o interior e o hardware do veículo.
Para saber mais sobre a integração da Car UI Library, consulte estes artigos:
- Integrando a Car UI Library em Apps
- Personalizando aplicativos
- Adicionando fontes personalizadas
- Personalizando as preferências de IU do carro
- CarUiListItem
- Personalizando CarUiRecyclerView
- Solução de problemas de sobreposições de recursos de tempo de execução
- Notas de lançamento
- Apêndice A, Trabalhando com RROs
- Apêndice B, Diretrizes de Personalização
Sobre a biblioteca de IU do carro
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 Automotive (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 com versões anteriores.
- Camada de compatibilidade entre o curto prazo fornecido 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 trabalho adicional necessário para os subsistemas e aplicativos afetados:
Sobreposições em tempo de construção. Essa personalização é aplicada no momento da compilação da imagem do sistema Android. Durante a compilação, todos os aplicativos no sistema recebem recursos de sua pasta
res
e de pastas deoverlay
definidas nos makefiles de destino.Sobreposições dinâmicas de tempo 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 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 executa uma pesquisa de recurso 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 na 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 de sobreposições de tempo de construção e tempo de execução dinâmico.
Além dos componentes de interface do usuário, a biblioteca de interface do usuário do carro fornece um mecanismo para sobrepor recursos diretamente (vinculados estaticamente a cada aplicativo) com os recursos do 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 compilação, a infraestrutura da biblioteca Car UI usaria essas informações para gerar um RRO estático para cada aplicativo de destino.
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 compilação para gerar os RROs necessários.
Azul. Destinos personalizáveis , incluindo a estrutura, os aplicativos do sistema, os aplicativos do fornecedor e os aplicativos GAS que usam a biblioteca Car UI para personalizar os elementos da interface do usuário.