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 tanto no console do carro quanto na tela do smartphone do usuário. Portanto, é necessário testar seus apps para o Auto nos dois tipos de tela. Além disso, os usuários podem acessar seu app de vários modos diferentes.

Este tópico mostra como testar seu app para 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 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ícitos e seu Serviço de navegação de mídia.

Para testar seu app, siga estas etapas para verificar se seu módulo automotivo foi configurado para não iniciar nenhuma atividade:

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

    Caixa de diálogo de configurações "Run/Debug".

  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 em OK.

Adicionar imagens do sistema

Antes de criar AVDs que correspondam a 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.

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. Preencha os campos Name e URL da forma indicada abaixo e clique em OK:

    Name: Polestar 2 System Image

    URL: https://developer.polestar.com/sdk/polestar2-sys-img.xml

  5. Clique em Apply e em OK.

Criar um AVD de carro e executar o emulador

Siga as etapas a seguir para criar um dispositivo virtual Android (AVD) 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 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 posterior. 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 SDK Tools. A DHU é 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 conectando seu dispositivo móvel a uma máquina de desenvolvimento e configurando uma conexão com o servidor da unidade principal pela Android Debug Bridge (ADB). Siga as etapas a seguir para configurar o encapsulamento e iniciar 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 novos 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
        

    Por padrão, o servidor da unidade principal se conecta pela porta 5277. Para substituir o host ou a porta (por exemplo, para encaminhar pelo SSH), use a sinalização desktop-head-unit --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 teclas de atalho da DHU. Como a DHU ignora os cliques do mouse no modo de controle giratório, é necessário operar o Android Auto com as operações simuladas do controle giratório.

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.

Observação: você também pode testar suas integrações de mídia usando o app Media Controller (link em inglês).

Depois de configurar e iniciar a DHU, você pode executar comandos da DHU na linha de comando para executar e testar seu app no terminal. Também é possível usar atalhos de teclado para executar esses comandos.

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 selecionando a janela DHU e usando atalhos de teclado. Os comandos e teclas de atalho da DHU para todos os controles estão listados na seção Comandos e teclas de atalho 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 falta para chegar?"
navhome.wav
"Ir para casa."
navwork.wav
"Ir para o trabalho."
pause.wav
"Pausar música."
showtraffic.wav
"Mostrar o trânsito."

Comandos e teclas de atalhos 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 up
down
left
right
Teclas de seta Simula a movimentação do controle giratório.
soft left
soft right
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 rotativos.
rotate left
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).
flick left
flick right
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 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 versão 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 seu app para cada um dos modos de acesso do usuário mencionados neste tópico, é necessário testá-lo para garantir que ele execute a função a seguir.

Testar a "inicialização a frio" do app de mídia

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 que qualquer atividade seja 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.