O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Testar apps Android para carros

O teste de apps para veículos garante que os usuários não tenham resultados inesperados ou uma experiência ruim. Seu app pode ser acessado no console de um carro ou na tela do smartphone de um usuário, então é preciso testá-lo em ambos.

Este tópico mostra como testar seu app em cada um desses modos de acesso do usuário. Também serão fornecidas instruções para testar outras funcionalidades necessárias.

Testar seu app para telas de carro compatíveis com Android Auto

A DHU permite que sua máquina de desenvolvimento emule uma unidade principal do Android Auto para que você possa executar e testar facilmente os apps para Android Auto. A DHU é executada em hosts 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 seu smartphone e estação de trabalho via USB.

Instalar a DHU

Siga as etapas a seguir para instalar a DHU na sua máquina de desenvolvimento:

  1. Ative o modo de desenvolvedor no seu dispositivo móvel, conforme descrito em Ativar opções do desenvolvedor no dispositivo.
  2. Compile seu app no ambiente de desenvolvimento e instale-o em um dispositivo móvel físico com o Android 5.0 (API nível 21) ou mais recente. Para verificar a versão do Android em um dispositivo Nexus, vá para Configurações > Sobre o telefone (ou Sobre o tablet) > Versão do Android.
  3. Instale o app Android Auto no dispositivo móvel. Se o Android Auto já estiver instalado, verifique se você está usando a versão mais recente.
  4. Abra o SDK Manager e faça o download do pacote de DHU Android Auto Desktop Head Unit emulator na guia Ferramentas do SDK. A DHU será instalada no diretório <sdk>/extras/google/auto/.

Se você estiver executando a DHU no Linux, também precisará instalar as bibliotecas portaudio, libpng, sdl2 e sdl2_ttf. O procedimento de instalação varia dependendo da sua distribuição Linux. Por exemplo, nas distribuições Linux derivadas do Debian, instale as bibliotecas com este comando:

sudo apt-get install libsdl2-2.0-0 libsdl2-ttf-2.0-0 libportaudio2 libpng12-0
Menu de contexto com opções do desenvolvedor

Figura 1. Menu de contexto com opções do desenvolvedor.

Notificação de que o servidor da unidade principal está em execução

Figura 2. Notificação de que o servidor da unidade principal está em execução.

Depois de instalar a DHU, teste seus apps para Android Auto conectando seu smartphone e estação de trabalho via USB.

Executar a DHU

Execute a DHU ao conectar seu dispositivo móvel a uma máquina de desenvolvimento e configure uma conexão com o servidor da unidade principal pelo Android Debug Bridge (ADB).

Siga as etapas a seguir para configurar o encapsulamento e executar a DHU:

  1. No app Android Auto, toque no menu de navegação e em Configurações.
  2. Role até a seção Sobre, na parte inferior, e toque em Versão para exibir todas as informações de versão e permissões.
  3. 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.

  4. 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 o modo de desenvolvedor na primeira vez que executar o app Android Auto.

  5. 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.

    No dispositivo, um serviço em primeiro plano aparece na área de notificações.

  6. No app Android Auto, retorne à tela principal pressionando o botão "Voltar", abra Configurações > Carros conectados na gaveta de navegação e verifique se a opção Adicionar carros ao Android Auto está ativada.

  7. Conecte o dispositivo móvel à máquina de desenvolvimento via USB.

  8. Verifique se o dispositivo móvel está com a tela desbloqueada. Caso contrário, não será possível iniciar a DHU.

  9. Na máquina de desenvolvimento, execute o comando adb a seguir para encaminhar as conexões de soquete da porta 5277 da máquina de desenvolvimento 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
    
  10. Inicie a DHU executando o comando desktop-head-unit.exe (no Windows) ou ./desktop-head-unit (no Mac ou Linux) no diretório <sdk>/extras/google/auto/.

    cd <sdk>/extras/google/auto
    ./desktop-head-unit
    

Depois de configurar e iniciar a DHU, você pode executar comandos e atalhos de teclas da DHU para executar e testar seu app.

O Android Auto é iniciado no dispositivo móvel

Figura 3. O Android Auto é iniciado no dispositivo móvel.

A DHU é iniciada na máquina de desenvolvimento

Figura 4. A DHU é iniciada na máquina de desenvolvimento.

Sinalizaçõ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 pelo SSH), use a sinalização --adb <[localhost:]port>, como no exemplo a seguir:

./desktop-head-unit --adb 5999

Por padrão, a DHU emula a forma mais comum da unidade principal compatível com o Android Auto, que usa uma interface de 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 a seguir:

./desktop-head-unit -i controller

Quando a DHU está no modo de controle giratório, use atalhos de teclado para simular operações do controlador, conforme descrito em Comandos e atalhos de teclas da DHU. 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 do controle giratório.

Emitir comandos da DHU

Os comandos da DHU permitem testar seu app com os recursos do Android Auto, como usar a entrada de texto por voz ou alternar entre os modos de exibição noturno e diurno. É possível emitir comandos para a DHU na janela do terminal em que você iniciou a DHU. Você também pode emitir comandos ao selecionar a janela DHU e usar atalhos de teclado. Os comandos e atalhos de teclas da DHU para todos os controles estão listados na seção Comandos e atalhos de teclas da DHU.

Alternar entre os modos diurno e noturno

O Android Auto é compatível com esquemas de cores diferentes para dia e noite. Teste seu app no modo diurno e noturno. Você pode alternar entre os dois modos de uma das seguintes maneiras:

  • Execute o comando daynight no terminal em que você iniciou a DHU.
  • Selecione a janela DHU e pressione a tecla N.

Teste de microfone

A DHU é compatível com o uso de microfone para entrada de voz. Você também pode instruir a DHU a tratar uma faixa de voz pré-gravada como entrada, como se a DHU tivesse ouvido a faixa pelo microfone.

Para usar um arquivo de som pré-gravado como entrada, insira o seguinte comando:

mic play <sound_file_path>/<sound_file>.wav

Para sua conveniência, oferecemos os arquivos de som a seguir para comandos de voz comuns. Esses arquivos de som estão instalados no diretório <sdk>/extras/google/auto/voice/.

exitnav.wav
"Sair da navegação."
navgoogle.wav
"Ir para Avenida Paulista, 1600, São Paulo".
navsoh.wav
"Ir para o Teatro Municipal."
nextturn.wav
"Qual é a próxima rua em que devo entrar?"
showalternateroute.wav
"Mostrar rotas alternativas."
howlong.wav
"Quanto tempo falta para eu chegar lá?"
navhome.wav
"Ir para casa."
navwork.wav
"Ir para o trabalho."
pause.wav
"Pausar música."
showtraffic.wav
"Mostrar o trânsito."

Comandos e atalhos de teclas da DHU

A DHU é compatível com os comandos a seguir.

Tabela 1. Comandos e teclas de atalho

Categoria Comando Subcomando Argumentos Atalhos do teclado Descrição
Sistema help [comando] Mostra o conjunto completo de comandos. A especificação do nome de um comando (por exemplo, help day) faz com que o sistema mostre ajuda para esse comando.
quit Alt+q Sai da unidade principal.
sleep [segundos] Suspende por um segundo. A especificação de um argumento (por exemplo, sleep 30) faz com que o sistema fique suspenso pelo número especificado de segundos. Esse comando é útil se você estiver escrevendo scripts para a DHU. Você pode executar um script usando o redirecionamento de E/S na linha de comando: ./desktop-head-unit < script.txt carrega comandos do arquivo script.txt.
screenshot filename.png Salva uma captura de tela em filename.png.
Microfone mic begin m Ativa o microfone (equivalente a pressionar o botão do microfone no volante) e aguarda a entrada do microfone do computador.
play filename.wav Faz com que a DHU trate filename.wav como entrada de voz, como se esse som fosse redirecionado pelo microfone. Você não ouve o arquivo de som sendo reproduzido, mas sim a resposta do Android Auto.
repeat Repete o último comando mic play, como se você tivesse chamado mic play novamente com o mesmo parâmetro de arquivo de som.
Entrada dpad Para cima
, para baixo
, para esquerda
, para direita
Teclas de seta Simula a movimentação do controle giratório.
tecla para a esquerda
tecla para a direita
Shift + Teclas de setas Simula o pressionamento dos botões laterais disponíveis em alguns controladores rotativos.
click Enter Simula o pressionamento do controle giratório.
back Backspace Simula o pressionamento do botão Voltar, disponível abaixo de alguns controladores giratórios.
girar para a esquerda
girar para a direita
1
2
Simula a rotação do controle giratório para a esquerda (sentido anti-horário) ou direita (sentido horário).
deslizar para a esquerda
deslizar para a direita
Shift+1
Shift+2
Simula uma rotação rápida do controle giratório para a esquerda (sentido anti-horário) ou direita (sentido horário).
tap x y Simula um evento de toque nas coordenadas especificadas. Por exemplo, tap 50 100
Dia/Noite day Shift+N Ativa o modo diurno (alto brilho, colorido).
night Control+N Ativa o modo noturno (baixo brilho, alto contraste).
daynight n Alterna entre o modo dia/noite atual.

Testar seu app para Android Automotive OS

Use o Android Emulator para testar como seu app otimizado para o trânsito é executado em uma tela de veículo com o 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

Apps para o Automotive OS são diferentes de outros apps para Android. O Android Automotive OS interage com seu app usando intents explícitas e enviando chamadas para seu serviço de navegador de mídia.

Para testar seu 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:

  1. No Android Studio, selecione Run > Edit Configurations.

    Caixa de diálogo de configurações

  2. Selecione seu módulo automotivo na lista de módulos do seu app.

  3. Em Launch Options > Launch, selecione Nothing.

  4. 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 por meio do SDK Manager do Android Studio. Então, ao criar um AVD, você pode fazer o download dessas imagens do sistema para usar com ele.

Adicionar imagens do sistema de fabricantes de carros

No momento, só é possível adicionar uma imagem do sistema específica do fabricante para o Polestar 2. Siga as etapas a seguir para adicionar uma imagem do sistema para o Polestar 2:

  1. No Android Studio, selecione Tools > SDK Manager.
  2. Clique na guia SDK Update Sites.
  3. Clique em Add Ícone de Add.
  4. 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

  5. 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 as etapas a seguir para instalar a imagem genérica do sistema:

  1. No Android Studio, selecione Tools > SDK Manager.
  2. Clique na guia SDK Platforms.
  3. Clique em Show Package Details.
  4. Em Android 9.0 (Pie), selecione Automotive Intel x86 Atom System Image.
  5. Clique em Apply e, em seguida, clique em OK.

    Lista de componentes do SDK Platform com imagem genérica do sistema selecionada.

Criar um AVD de carro e executar o emulador

Siga as etapas a seguir 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:

  1. No Android Studio, selecione Tools > AVD Manager.
  2. Clique em Create Virtual Device.
  3. Na caixa de diálogo Select Hardware, selecione Automotive, escolha um dispositivo e clique em Next.
  4. Selecione uma imagem do sistema segmentada para o Automotive, como Android 9.0 (Automotive), e clique em Next.
  5. Crie um nome para seu AVD, selecione outras opções que quiser personalizar e clique em Finish.
  6. Na barra de ferramentas da janela, selecione seu AVD do Android Automotive OS como destino de implantação.
  7. Clique em Run Ícone de Run.

Testar seu app para telas de smartphone

Siga as etapas abaixo para carregar seu app para um smartphone e testá-lo.

Etapa 1. No app Android Auto, ative o modo de desenvolvedor e fontes desconhecidas

  1. Instale o app Android Auto, disponível no Google Play, no smartphone. Se o Android Auto já estiver instalado, verifique se você está usando a versão mais recente.
  2. No app Android Auto, toque no menu de navegação e em Configurações.
  3. Role até a seção Sobre, na parte inferior, e toque em Versão para exibir todas as informações de versão e permissões.
  4. 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.

  5. Toque em Ok.
  6. Toque nos três pontos no canto superior direito da tela para abrir o menu flutuante e depois toque em Configurações do desenvolvedor.
  7. Toque em Modo de aplicativo e selecione Desenvolvedor.

    O app retorna à lista de configurações do desenvolvedor.

  8. Role para baixo até ver Fontes desconhecidas e toque na caixa de seleção.
  9. Reinicie o Android Auto.

Etapa 2. Ative a depuração USB no seu smartphone

  1. Em Configurações > Sobre o telefone, toque em Número da build sete vezes para ativar as Opções do desenvolvedor.
  2. Volte para Configurações > Opções do desenvolvedor, ative a Depuração USB.

Etapa 3. Instale seu app no smartphone e teste-o

  1. Conecte o smartphone à sua máquina via USB para poder instalar apps diretamente nele à medida que os desenvolve. Use o comando adb devices para garantir que seu computador de desenvolvimento possa detectar seu dispositivo quando ele estiver conectado via USB.
  2. Depois que seu dispositivo estiver configurado e conectado via USB, navegue até o diretório platform-tools/ do SDK e instale o .apk no dispositivo executando o seguinte comando:

    adb -d install path/to/your/app.apk
    

    Agora, você pode testar seu app e verificar se tudo funciona.

Outros requisitos de teste

Além de testar o comportamento do seu app em consoles de carro e telas de smartphone, verifique também se ele funciona de forma correta nos seguintes cenários.

Testar a "inicialização a frio" do app de música

Os apps de mídia do Android Auto funcionam mesmo que nenhuma atividade tenha sido aberta. É importante que seu app responda adequadamente nas seguintes condições:

  • O MediaBrowserService é executado antes de qualquer atividade ser aberta.
  • O usuário não está conectado.
  • Nenhuma atividade pode ser mostrada.

Além disso, teste as seguintes situações:

  • Force o fechamento do app de mídia e inicie o Android Auto.
  • Limpe os dados do app de mídia e inicie o Android Auto.

Caso o app não execute o comportamento solicitado, defina uma mensagem de erro adequada.

Ferramentas de teste de mídia

Você pode usar o app de teste Media Controller para verificar as integrações de mídia do Android Auto e do Android Automotive OS.

Para saber mais, acesse os recursos a seguir (links em inglês):