O teste de apps para carros garante que os usuários não tenham resultados inesperados ou uma experiência ruim. A forma de teste do app varia de acordo com a execução dele no Android Auto ou no Android Automotive OS.
Para começar, consulte uma das seguintes seções:
Testar seu app para Android Auto
A unidade principal de área de trabalho (DHU, na sigla em inglês) permite que sua máquina de desenvolvimento emule uma unidade principal do Android Auto para que você possa executar e testar apps Android Auto. A DHU é executada em sistemas Windows, macOS e Linux.
Esta seção ensina a instalar e a executar a DHU na máquina de desenvolvimento para testar seus apps. Depois de instalar a DHU, teste seus apps para Android Auto conectando o dispositivo móvel a um dos mecanismos de conexão com suporte descritos em Executar a DHU.
Para relatar bugs ou solicitar recursos relacionados à DHU, use este Issue Tracker.
Instalar a DHU
Siga as etapas a seguir para instalar a DHU na sua máquina de desenvolvimento:
- Ative o modo de desenvolvedor em um dispositivo móvel com Android 6.0 (API de nível 23) ou mais recente, conforme descrito em Configurar opções do desenvolvedor no dispositivo.
- Compile e instale seu app no dispositivo.
- Instale o Android Auto no dispositivo. Se o Android Auto já estiver instalado, verifique se você está usando a versão mais recente.
Abra o SDK Manager, navegue até a guia SDK Tools (Ferramentas do SDK) e faça o download do pacote Android Auto Desktop Head Unit Emulator.
A DHU vai ser instalada no diretório
SDK_LOCATION/extras/google/auto/
.Em sistemas Linux ou macOS, execute o comando abaixo nesse diretório para garantir que o binário da DHU seja executável:
chmod +x ./desktop-head-unit
Etapas extras somente para Linux
Se você estiver executando a versão 2.0 em um sistema Linux, vai precisar instalar algumas
outras bibliotecas. O binário da DHU depende do GLIBC
versão 2.32 ou mais recente.
Verifique a versão do GLIBC
do seu sistema executando este comando:
ldd --version
Se ela for anterior à 2.32, será necessário atualizar o GLIBC
para a versão 2.32 ou
mais recente ou fazer upgrade do SO para uma versão compatível com o GLIBC
2.32 ou
mais recente.
Também é necessário instalar as bibliotecas libc++1
e libc++abi1
. O procedimento
de instalação varia de acordo com sua distribuição do Linux. Por exemplo, nas
distribuições do Linux derivadas do Debian, instale as bibliotecas com este
comando:
sudo apt-get install libc++1 libc++abi1
Instalar versões de pré-lançamento da DHU {#:dhu-pre-release}
Para ter acesso às versões de pré-lançamento da DHU, use uma versão de pré-lançamento do Android Studio ou mude o canal de atualização da instalação do Android Studio para o canal Beta.
Executar a DHU
Depois de instalar a DHU, teste seus apps para Android Auto conectando o dispositivo móvel e a estação de trabalho via USB. Para executar a DHU, conecte o dispositivo móvel a uma máquina de desenvolvimento usando o Modo de acessório (recomendado para a DHU 2.0) ou o Encapsulamento do adb.
Como se conectar usando o modo de acessórios (somente DHU 2.0)
O Android Auto oferece suporte à DHU com o protocolo Android Open Accessory (AOA), usando este comando:
./desktop-head-unit --usb
Por padrão, a DHU verifica a lista de dispositivos USB disponíveis e tenta
se conectar ao primeiro compatível. Para segmentar um dispositivo específico, inclua o
ID dele como parte do comando --usb
, desta maneira:
./desktop-head-unit --usb=[DEVICE_ID]
Como se conectar usando o encapsulamento ADB
Esse método exige a configuração de uma conexão com o servidor da unidade principal do Android Auto no Android Debug Bridge (adb). Siga as etapas abaixo para configurar o encapsulamento e executar a DHU:
Siga um destes procedimentos para abrir as configurações do Android Auto, dependendo da versão do Android em execução no dispositivo:
- Android 10 ou versão mais recente: no dispositivo, toque em Configurações > Apps e notificações > Ver todos os apps > Android Auto > Avançado > Configurações avançadas no app.
- No Android 9 ou versão anterior: no app Android Auto, toque no Menu e em Configurações.
Role até a seção Sobre, na parte de baixo da página, e toque em Versão para exibir todas as informações de versão e permissões.
Toque na seção Informações de versão e permissões dez vezes.
A caixa de diálogo Ativar as configurações de desenvolvimento será exibida.
Toque em Ok.
Agora, o modo de desenvolvedor está ativado e você pode acessar as opções do desenvolvedor no menu flutuante. Você só precisa ativar esse modo na primeira vez que executar o app Android Auto.
Se o servidor da unidade principal ainda não estiver em execução, toque nos três pontos no canto superior direito da tela para abrir o menu flutuante e selecione Iniciar servidor da unidade principal (veja a figura 1).
No dispositivo, um serviço em primeiro plano aparece na área de notificação que indica que o servidor está em execução (veja a figura 2).
Figura 1. Menu de contexto com opções do desenvolvedor.
Figura 2. Notificação de que o servidor da unidade principal está em execução.
No app Android Auto, toque em Carros conectados anteriormente na parte de cima das Configurações e verifique se a opção Adicionar novos veículos ao Android Auto está ativada.
Conecte o dispositivo móvel à máquina de desenvolvimento via USB.
Verifique se o dispositivo móvel está com a tela desbloqueada. Caso contrário, não será possível iniciar a DHU.
Na máquina de desenvolvimento, execute o comando
adb
abaixo para encaminhar as conexões de soquete da porta 5277 da máquina para a porta de mesmo número do dispositivo Android. Essa configuração permite que a DHU se conecte ao servidor da unidade principal em execução no smartphone por um soquete TCP.adb forward tcp:5277 tcp:5277
Inicie a DHU executando o comando
desktop-head-unit.exe
(no Windows) ou./desktop-head-unit
(no Mac ou Linux) no diretórioSDK_LOCATION/extras/google/auto/
.cd SDK_LOCATION/extras/google/auto
desktop-head-unit.exe # Windows
./desktop-head-unit # macOS or Linux
Se esta for a primeira vez que você está conectando o dispositivo móvel à DHU, verifique a tela do dispositivo móvel para aceitar os Termos de Serviço e ajustar as configurações de permissão conforme necessário.
Depois de iniciar a DHU, use os comandos do console da DHU para executar e testar o app.
Opções de linha de comando
Por padrão, o servidor da unidade principal se conecta pela porta 5277. Para modificar o host
ou a porta (por exemplo, para encaminhar por SSH), use a sinalização
--adb=<[localhost:]port>
, como no exemplo a seguir:
./desktop-head-unit --adb=5999
Por padrão, a DHU emula uma unidade principal compatível com o Android Auto com uma
interface do usuário touchscreen. Simule toques do usuário clicando na DHU com
o mouse. Para emular unidades principais que usam um controle giratório para entrada,
use a sinalização -i controller
, como no exemplo abaixo:
./desktop-head-unit -i controller
Quando a DHU está no modo de controle giratório, use atalhos de teclado para simular operações do controle. Consulte o Controle giratório para ver mais detalhes. Como a DHU ignora os cliques do mouse no modo de controle giratório, é necessário usar o Android Auto com as operações simuladas desse controle.
Opção | Descrição |
---|---|
-c , --config=FILE |
Usa o arquivo de configuração .ini especificado. Consulte a seção
Configurar a DHU para saber mais
detalhes. |
-i , --input=INPUT |
Use o modo de entrada especificado, que pode ser touch ,
rotary ou hybrid . |
-a , --adb=HOSTPORT |
Use o transporte adb (host:port
ou port opcionais). O padrão é a porta 5277. |
-a , --usb=DEVICE_ID |
Use o transporte USB (AOA) (DEVICE_ID opcional). |
-v , --version |
Mostra informações da versão. |
-l , --licenses |
Mostra licenças de código aberto. |
-h , --headless |
Execute no modo headless (sem IU). |
-t , --always_show_window_on_top |
Mostrar janelas da DHU acima de outras janelas (desativado por padrão) |
-? , --help |
Mostra esta listagem de ajuda. |
Guia do usuário da DHU
Esta seção descreve os recursos com suporte da versão 2.0 da DHU e como usá-los.
Os comandos são inseridos na janela de terminal em que você iniciou a DHU. Vários
comandos podem ser executados na mesma linha, separando-os com ;
.
Sistema
Comando | Tecla | Descrição |
---|---|---|
help [command] |
Mostra o conjunto completo de comandos. Se um nome de comando for especificado (por exemplo,
help day ), mostrará a ajuda para esse comando. |
|
quit exit |
Alt+Q | Sai da unidade principal. |
sleep [seconds] |
Coloca em suspensão por um segundo. Se um atraso for especificado, suspenderá por essa quantidade de
seconds . Isso pode ser usado para criar um script da unidade principal
(./desktop-head-unit < script.txt ), por exemplo, em um
ambiente de CI. |
|
screenshot filename.png
|
Salva uma captura de tela em filename.png. .
|
|
licenses |
Exibe licenças das bibliotecas usadas na DHU | |
keycode keycode
|
Envia keycode, um dos nomes listados na seção Códigos de tecla. |
Toque e touchpad
Quando o toque ou o touchpad estiverem ativados, os cliques na janela de exibição (para toque) ou na janela do touchpad (para touchpad) vão ser registrados como eventos de toque.
Para simular vários toques, clique com o botão direito do mouse no local do primeiro dedo e clique no botão direito e mantenha-o pressionado para o segundo dedo. O ponto central dos dois dedos vai permanecer fixo e mover o mouse permitirá girar esse ponto ao redor do centro ou fazer gesto de pinça nele para dentro e para fora (ou ambos).
Para o touchpad, clique no botão esquerdo e mantenha-o pressionado para rolar entre diferentes elementos da IU na tela. Clique com o botão direito para selecionar o elemento em foco no momento.
Comando | Tecla | Descrição |
---|---|---|
tap x y
|
Simula um evento de toque nas coordenadas especificadas |
Controle giratório
A DHU oferece suporte ao controle giratório. Quando ele está ativado, as seguintes ações são aceitas:
- Para cima, para baixo, para a esquerda e para a direita no botão direcional
- Girar no sentido horário e anti-horário
- Executar um movimento de rotação com o pulso (cinco etapas de uma vez)
- Clicar para baixo e voltar ao controle
Os comandos e as teclas de atalho estão listados abaixo.
Um botão de rolagem no mouse enviará comandos dpad rotate
, e o clique do botão do meio
do mouse (geralmente a roda de rolagem) enviará comandos dpad click
.
A maioria dos carros tem touchscreens. Alguns carros têm apenas o controle giratório, enquanto outros têm um híbrido de controle e toque. Os carros também podem ter um touchpad para ser usado na movimentação de mapas e na entrada de texto. Lembre-se dessas configurações variadas ao simular diferentes unidades principais de veículos.
Comando | Tecla | Descrição |
---|---|---|
dpad {up|down|left|right} |
Teclas de seta | Movimento do controle giratório. |
dpad {ur|dl|ul|dr} |
Movimento do controle giratório. | |
dpad soft {left|right} |
Shift + Teclas de setas | Botões laterais disponíveis em alguns controles giratórios. |
dpad click |
Enter | Pressionar o controle giratório. |
dpad back |
Backspace | Botão "Voltar" disponível abaixo de alguns controles giratórios. |
dpad rotate left |
1 | Movimento à esquerda do controle giratório (sentido anti-horário). |
dpad rotate right |
2 | Movimento à direita do controle giratório (sentido horário). |
dpad flick left |
Shift+1 | Giro rápido no sentido anti-horário do controle giratório. |
dpad flick right |
Shift+2 | Giro rápido no sentido horário do controle giratório. |
dpad 0-9*#+ |
Teclado numérico |
Microfone
A DHU permite o uso de microfone para entrada de texto por voz ou a reprodução de uma faixa de
voz pré-gravada. Para sua conveniência, oferecemos os arquivos de som
a seguir para comandos de voz comuns. Estes arquivos de som estão instalados no
diretório SDK_LOCATION/extras/google/auto/voice/
.
Nome do arquivo | Texto |
---|---|
navhome.wav |
Ir para casa. |
navwork.wav |
Ir para o trabalho. |
navsoh.wav |
Ir até a Sydney Opera House. |
navgoogle.wav |
Ir até 1600 Amphitheatre Parkway, Califórnia, EUA. |
exitnav.wav |
Sair da navegação. |
howlong.wav |
"Quanto tempo falta para chegar?" |
showtraffic.wav |
Mostrar trânsito. |
showalternateroute.wav |
Mostrar rotas alternativas. |
pause.wav |
Pausar música |
nextturn.wav |
Quando é a próxima curva? |
Para executar um arquivo .wav
individual no prompt da DHU:
mic play /path/to/filename.wav
Comando | Tecla | Descrição |
---|---|---|
mic begin |
M | Ativa o microfone (equivalente a clicar no botão de engrenagem) e aguarda a entrada do microfone do computador. |
mic play filename.wav
|
Ativa o microfone e reproduz o registro WAV especificado. Observação: você não vai ouvir o arquivo WAV sendo reproduzido, mas ouvirá a resposta do Android Auto. | |
mic repeat |
Repete a última gravação usada com mic play . |
|
mic reject {on|off} |
Ativa ou desativa a rejeição de solicitações de microfone. Quando ativado, todas as solicitações de microfone são rejeitadas. |
Sensores
A DHU permite a simulação de mudanças nos dados do sensor do veículo com
os comandos a seguir. Para simular os dados do sensor e enviá-los ao Android Auto, os
sensores correspondentes precisam ser ativados com o arquivo de configuração
.ini
ao iniciar a DHU.
Comando | Descrição |
---|---|
fuel [percentage] |
Defina o nível de combustível para a porcentagem especificada ou não transmita um valor para desativar o nível de combustível. |
range [km] |
Defina o intervalo para os quilômetros especificados ou não transmita um valor para desativar os dados do intervalo. |
lowfuel [{on|off}] |
Defina o sensor de alerta de combustível baixo ou não transmita um valor para desativar o sensor. |
accel [x] [y] [z] |
Defina o acelerômetro com os valores especificados de x, y e z (m/s^2) ou não transmita parâmetros para desativar a definição dos dados do acelerômetro. Transmita o NAN para pular parâmetros opcionais, se necessário. |
compass bearing [pitch] [roll] |
Defina a bússola para os valores de ângulo, inclinação e rolagem especificados (graus). Transmita o NAN para pular parâmetros opcionais, se necessário. |
gyro [x] [y] [z] |
Defina o giroscópio para a velocidade de rotação especificada de x, y e z (rad/s) ou não transmita parâmetros para desativar os dados do giroscópio. Transmita o NAN para pular parâmetros opcionais, se necessário. |
location lat long [accuracy] [altitude] [speed] [bearing] |
Defina o local com a latitude e a longitude especificadas, além da precisão opcional (m), altitude (m), velocidade (m/s) e ângulo (graus). Transmita o NAN para pular parâmetros opcionais, se necessário. |
odometer km [current_trip_km] |
Defina o odômetro para os quilômetros especificados junto com um valor opcional de km atual da viagem. |
speed [speed] |
Defina a velocidade do veículo para o valor especificado (m/s) ou não transmita um valor para desativar o sensor. |
tollcard {insert|remove} |
Indique se um cartão de pedágio foi inserido ou removido. |
Modo diurno/noturno
A DHU permite a simulação da mudança entre os modos diurno e noturno com os comandos e as teclas de atalho a seguir.
Comando | Tecla | Descrição |
---|---|---|
day |
Shift+N | Ativa o modo diurno (alto brilho, colorido). |
night |
Ctrl+N | Ativa o modo noturno (baixo brilho, alto contraste). |
daynight nightday |
N | Alterna o modo diurno ou noturno atual. |
Gerenciamento de foco
A DHU permite a simulação da presença ou ausência de seleção na unidade principal do Android Auto com os comandos a seguir.
Comando | Descrição |
---|---|
focus video {on|off|toggle} |
Ativa ou desativa a presença de seleção de vídeo na unidade principal do Android Auto. A desativação da seleção de vídeo simula a unidade principal passando para o modo nativo. |
focus audio {on|off|toggle} |
Ativa ou desativa a presença de seleção de áudio na unidade principal do Android Auto. A desativação da seleção de áudio simula a unidade principal reproduzindo a própria fonte de áudio. |
focus nav {on|off|toggle} |
Ativa ou desativa a presença de foco da navegação na unidade principal do Android Auto. A desativação do foco da navegação simula a unidade principal executando o próprio sistema de navegação. |
Restrições/status de direção
A DHU permite a simulação de algumas restrições quando o veículo está em movimento, como a desativação do teclado e a proibição de configurar o smartphone.
Comando | Tecla | Descrição |
---|---|---|
restrict none |
U | Desativa todas as restrições. |
restrict all |
Shift+U | Ativa todas as restrições (por exemplo, para simular a direção). |
Cluster de instrumentos
A DHU permite a emulação de um cluster de instrumentos, normalmente localizado atrás do volante, que mostra, durante a navegação, informações básicas sobre a próxima curva (como o nome da próxima via, distância/hora ou uma seta para virar) e sobre uma ligação em andamento.
Isso pode ser ativado usando a entrada instrumentcluster
na seção [general]
do arquivo de configuração ou pelas entradas navcluster
ou phonecluster
para controlar cada recurso separadamente.
[general]
...
instrumentcluster = true
Exibição do cluster
Alguns veículos têm telas que exibem informações visuais avançadas, como blocos de mapas. A partir da versão 2.1 da DHU (disponível atualmente pelo canal de atualização do Android Studio Beta ), é possível emular essa tela na máquina de desenvolvimento.
Isso pode ser feito usando um arquivo de configuração com uma seção [display]
de cluster.
As seções [display]
oferecem suporte às mesmas
opções de configuração de vídeo que a tela principal
configurada na seção [general]
do arquivo.


...
# The display name following the colon can be whatever you like.
[display:cluster]
# Setting the displaytype as cluster is what lets the DHU know how to handle it.
displaytype = cluster
resolution = 800x480
dpi = 160
...
Essa configuração pode ser adicionada diretamente a um arquivo .ini
existente ou
reutilizada em um arquivo separado e transmitindo vários
arquivos de configuração ao iniciar a DHU. Ao usar vários arquivos de
configuração, as definições posteriores de um determinado valor substituem os anteriores.
# Launch your landscape configuration with your cluster display configuration
./desktop-head-unit -c landscape.ini -c cluster.ini
# Launch the portait configuration with the same cluster display configuration
./desktop-head-unit -c portrait.ini -c cluster.ini
Status de reprodução de mídia
A DHU permite a exibição de informações extras para mostrar o status de reprodução de mídia, por exemplo, qual faixa está sendo tocada.
Isso pode ser ativado usando a entrada playbackstatus
na seção [general]
.
[general]
...
playbackstatus = true
Códigos de tecla
A DHU oferece um conjunto de códigos de tecla padrão que simula o conjunto de botões
de atalho normalmente disponíveis nos veículos. Por exemplo, o
código de tecla home
pode ser acionado no prompt da DHU da seguinte maneira:
keycode home
Código de tecla | Descrição |
---|---|
home |
Vá para a tela inicial. |
back |
Voltar. |
call |
Fazer ou encerrar uma chamada. |
search |
Acionar pesquisa. |
media_play_pause media_play media_pause |
Reproduzir ou pausar uma mídia. |
media_next media_previous |
Ir para a faixa de mídia seguinte ou anterior. |
media |
Acessar o app de música padrão. |
navigation |
Acessar o app de navegação padrão. |
tel |
Acessar o app de telefone padrão. |
Configurar a DHU
A DHU oferece suporte a um arquivo de configuração .ini
para mudar os modos de entrada disponíveis
(toque, controle), a taxa de frames, a resolução e DPI que a unidade principal solicita
do smartphone.
O local padrão do arquivo de configuração é ~/.android/headunit.ini
. Se
você quiser mudar a configuração da unidade principal no sistema, poderá
modificar esse arquivo.
Também é possível especificar um arquivo de configuração a ser carregado usando a sinalização -c
.
./desktop-head-unit -c /path/to/config.ini
Exemplo de configuração
[general]
touch = true
touchpad = false
controller = false
instrumentcluster = false
resolution = 800x480
dpi = 160
framerate = 30
fueltypes = unleaded,electric,hydrogen
evconnectors = supercharger
Exemplos de arquivos de configuração podem ser encontrados na
pasta SDK_LOCATION/extras/google/auto/config/
para
demonstrar diferentes configurações de unidade principal que podem ser testadas. Para casos de uso
mais avançados, consulte as configurações compatíveis abaixo.
Configuração de entrada
Nome | Padrão | Tipo | Descrição |
---|---|---|---|
inputmode |
default |
String | Define o modo de entrada. As opções touch , rotary , hybrid ativam e desativam o suporte a touchscreen e controle giratório e definem códigos de teclas padrão conforme adequado, enquanto default define as opções touch e controller abaixo. |
controller |
false |
Booleano | Ativa a entrada de controle giratório. Ignorado a menos que inputmode seja default . |
touch |
true |
Booleano | Ativa a tela touchscreen. Ignorado a menos que inputmode seja default . |
touchpad |
false |
Booleano | Ativar o touchpad. |
touchpadnavigation |
false |
Booleano | Permite que o touchpad seja usado para a navegação na IU. |
touchpadtapasselect |
false |
Booleano | Quando seu valor é true, um toque no touchpad é um evento de seleção. |
touchpaduiabsolute |
false |
Booleano | Quando touchpadnavigation é true , isso define
se os toques precisam ser tratados como absolutos ou como gestos. |
Configuração de vídeo
O Android Auto oferece suporte a três resoluções de vídeo:
- 480p (800x480 - padrão)
- 720p (1280x720)
- 1080p (1920x1080)
Para oferecer suporte a proporções diferentes além das indicadas acima, a unidade principal pode especificar uma margem para o formato com efeitos letterbox/pillarbox, conforme necessário. Por exemplo, se você quiser uma tela de 1000x600, defina a resolução como 720p (1280x720), uma largura de margem de 280 e altura de margem de 120. Isso resulta na adição de uma margem de 140 pixels nas bordas esquerda e direita e de 60 pixels na partes superior e inferior.
Exemplo de configuração para emular uma tela típica de 6 polegadas (750x450):
[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30
E uma tela muito ampla:
[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220
Nome | Padrão | Tipo | Descrição |
---|---|---|---|
resolution |
800x480 |
Strings | Uma destas: 800x480 , 1280x720 ,
1920x1080 , |
dpi |
160 |
Número inteiro | |
normalizedpi |
false |
Booleano | Quando true , reduz o tamanho da janela da DHU para representar valores
maiores de DPI. Quando false , valores de DPI maiores resultam em janelas
maiores (que não imitam exibições reais, mas facilitam a
inspeção do conteúdo visual). |
realdpi |
160 |
Número inteiro | Usado na configuração de vídeo. |
framerate |
30 |
Número inteiro | Usado na configuração de vídeo. |
marginheight |
0 |
Número inteiro | Usado na configuração de vídeo. |
marginwidth |
0 |
Número inteiro | Usado na configuração de vídeo. |
margins |
0,0,0,0 |
String | Usado na configuração de vídeo, modifica marginwidth e
marginheight , se presente. O formato é parte superior, parte inferior, esquerda e
direita. |
contentinsets |
0,0,0,0 |
String | Usado na configuração de vídeo. O formato é parte superior, parte inferior, esquerda e direita. |
stablecontentinsets |
0,0,0,0 |
String | Usado na configuração de vídeo. O padrão é o valor de
contentinsets . O formato é parte superior, parte inferior, esquerda e direita. |
cropmargins |
false |
Booleano | Se margins , marginheight ou
marginwidth for especificado, um valor true para essa
configuração removerá essas margens do vídeo exibido. Isso reflete melhor
o que o usuário final vê. |
pixelaspectratio |
1.0 |
Ponto flutuante | Usado na configuração de vídeo. |
Configuração dos sensores
Para simular dados do sensor e enviá-los ao Android Auto, os sensores correspondentes precisam ser ativados usando as opções abaixo. Se um sensor estiver desativado, todos os dados enviados a ele usando os comandos da DHU serão ignorados.
Nome | Padrão | Tipo | Descrição |
---|---|---|---|
accelerometer |
false |
Booleano | Ativa os dados do sensor do acelerômetro. |
compass |
false |
Booleano | Ativa os dados do sensor da bússola. |
driving_status |
false |
Booleano | Ativa os dados do sensor do status de direção. |
fuel |
false |
Booleano | Ativa os dados do sensor de combustível. |
gyroscope |
false |
Booleano | Ativa os dados do sensor do giroscópio. |
location |
false |
Booleano | Ativa os dados do sensor de localização do veículo. |
night_mode |
false |
Booleano | Ativa os dados do sensor de modo noturno. |
odometer |
false |
Booleano | Ativa os dados do sensor do odômetro. |
speed |
false |
Booleano | Ativa os dados do sensor de velocidade. |
toll_card |
false |
Booleano | Ativa os dados do sensor de cartão de pedágio. |
Diversos
Nome | Padrão | Tipo | Descrição |
---|---|---|---|
instrumentcluster |
false |
Booleano | Ativa o cluster de instrumentos. Adiciona uma janela à IU para exibir o status da navegação e do telefone. |
navcluster |
false |
Booleano | Ativa o cluster de instrumentos. Adiciona uma janela à IU para exibir o status da navegação. |
phonecluster |
false |
Booleano | Ativa o cluster de instrumentos. Adiciona uma janela à IU para exibir o status do telefone. |
playbackstatus |
false |
Booleano | Ativa o status de reprodução. Adiciona uma janela à IU para exibir mensagens de status de reprodução. |
driverposition |
left |
String | Uma destas: left , center ou
right |
windowleft |
|
Número inteiro | Define a posição à esquerda da janela principal. |
windowtop |
|
Número inteiro | Define a posição superior da janela principal. |
fueltypes |
unleaded |
Strings | Um ou mais de (separados por ,):
|
evconnectors |
|
Strings | Zero ou mais de (separados por ,):
fueltypes contiver electric .
|
Solução de problemas
DHU mostrando uma tela em branco quando conectada pela primeira vez
Esse é um problema conhecido em que estamos trabalhando. Você pode solucioná-lo fazendo o seguinte:
- Feche a DHU.
- Siga a etapa 5 descrita em Executar a DHU para interromper e reiniciar o servidor da unidade principal.
- Inicie a DHU novamente.
- Podem haver outros pedidos de concessão de permissões na tela do smartphone. Conclua essas etapas, e a DHU poderá ser desligada mais uma vez.
- Reinicie a DHU.
Testar seu app para o Android Automotive OS
Use o Android Emulator para testar como seus apps são executados no Android Automotive OS. Esta seção descreve como configurar um Dispositivo virtual Android (AVD) que pode ser usado para testar seu app.
Editar as configurações de execução para apps de música
Apps de música em apps do SO do Android Automotive são diferentes de outros apps Android. O SO do Android Automotive interage com o app de música usando intents explícitas e enviando chamadas para o serviço de navegador de mídia.
Para testar o app, verifique se não há nenhuma atividade de inicialização no manifesto e evite que o módulo automotivo seja iniciado com uma atividade. Siga estas etapas:
No Android Studio, selecione Run > Edit Configurations.
Selecione seu módulo automotivo na lista de módulos do seu app.
Em Launch Options > Launch, selecione Nothing.
Clique em Apply e depois clique em OK.
Adicionar imagens do sistema
Antes de criar AVDs que correspondam ao hardware específico do fabricante, é necessário adicionar imagens do sistema para esses dispositivos usando o SDK Manager do Android Studio. Então, ao criar um AVD, você pode fazer o download dessas imagens para usar com ele.
Adicionar imagens do sistema de fabricantes de carros
Atualmente, é possível adicionar imagens de sistema específicas de OEM para o Polestar 2 e o Volvo. Siga estas etapas para adicionar uma imagem do sistema:
- No Android Studio, selecione Tools > SDK Manager.
- Clique na guia SDK Update Sites.
- Clique em Add
.
Digite o seguinte Nome e URL e clique em OK:
Nome: Polestar 2 System Image
URL:
https://developer.polestar.com/sdk/polestar2-sys-img.xml
Nome: Volvo System Image
URL:
https://developer.volvocars.com/sdk/volvo-sys-img.xml
Clique em Apply e, em seguida, clique em OK.
Instalar imagens genéricas do sistema
O Android Studio também inclui uma imagem genérica do sistema para o Android Automotive OS que você também pode usar para testar seu app. Essa imagem genérica do sistema inclui o Google Assistente para que você possa testar a integração do seu app.
Siga estas etapas para instalar a imagem genérica do sistema:
- No Android Studio, selecione Tools > SDK Manager.
- Clique na guia SDK Platforms.
- Clique em Show Package Details.
- Em Android 9.0 (Pie), selecione Automotive Intel x86 Atom System Image.
Clique em Apply e, em seguida, clique em OK.
Criar um AVD de carro e executar o emulador
Siga as etapas abaixo para criar um Dispositivo virtual Android (AVD, na sigla em inglês) que represente um veículo com Android Automotive OS e use esse AVD para executar o emulador:
- No Android Studio, selecione Tools > AVD Manager.
- Clique em Create Virtual Device.
- Na caixa de diálogo Select Hardware, selecione Automotive, escolha um dispositivo e clique em Next.
- Selecione uma imagem do sistema segmentada para o Automotive, por exemplo, Android 9.0 (Automotive), e clique em Next.
- Crie um nome para seu AVD, selecione outras opções que quiser personalizar e clique em Finish.
- Na barra de ferramentas da janela, selecione seu AVD do Android Automotive OS como destino de implantação.
- Clique em Run
.
Requisitos extras de teste para apps de música
Se você estiver testando um app de música, também precisará testar os cenários abordados nesta seção, além de testar o app no Android Auto, no Android Automotive OS ou em ambos.
Testar cenários de inicialização do MediaBrowserService
Para ajudar a manter os motoristas e passageiros seguros, os usuários têm outras restrições sobre
como eles podem interagir com os apps enquanto dirigem. Por esse motivo, o Android Auto e
o Android Automotive Os têm alguns cenários de inicialização MediaBrowserService
que seu app precisa processar para que os usuários possam
continuar aproveitando seu conteúdo enquanto estiverem na estrada.
Teste o aplicativo para verificar se ele pode lidar com cada um dos seguintes cenários:
- O
MediaBrowserService
é executado antes de qualquerActivity
ser aberta. - O
MediaBrowserService
é executado quando nenhumaActivity
pode ser exibida. - O
MediaBrowserService
é executado quando o usuário não está conectado.
Ao testar essas situações, teste os seguintes métodos:
- Force o fechamento do app de música e inicie o Android Auto ou o Android Automotive OS.
- Limpe os dados do app de música e inicie o Android Auto ou o Android Automotive OS.
Além disso, defina uma mensagem de erro adequada quando necessário.
Ferramentas de teste de mídia
O app de teste do controle de mídia (link em inglês) permite testar as complexidades da reprodução de mídia no Android e ajuda a verificar a implementação da sessão de mídia. Para começar a usar essa ferramenta, consulte Como usar o app de teste do controle de mídia.