ADB e testes de apps Android

É ótimo poder executar apps Android em um Chromebook. Ele oferece aos usuários acesso aos recursos do ecossistema Android e, aos desenvolvedores Android, a oportunidade de atingir usuários do ChromeOS.

Os desenvolvedores precisam verificar seus apps em diferentes formatos, para que os usuários tenham a melhor experiência. É por isso que o ChromeOS oferece aos desenvolvedores Android as ferramentas para implantar e testar os apps em Chromebooks.

Se os desenvolvedores estiverem implantando o app Android diretamente no ChromeOS (usando o Android Studio no Chromebook) ou em outro dispositivo, poderão usar o adb para implantar os apps e depurar interações diferentes com os Chromebooks. Para mais detalhes, confira as etapas abaixo.

Ativar depuração do adb

Antes, usar o adb no Chromebook só era possível no modo de desenvolvedor, o que requeria a função de Powerwash (redefinição) do dispositivo e poderia reduzir a segurança. Felizmente, desde o Chrome 81, os desenvolvedores não precisam entrar no modo de desenvolvedor e ainda podem implantar apps que desenvolvem diretamente no ChromeOS, com muita facilidade. As etapas são as seguintes:

Primeiro, verifique se o Chromebook não está no modo de desenvolvedor. Em seguida, acesse as configurações e ative o Linux (se ainda não tiver feito isso).

Ativar o Linux

Quando o Linux estiver disponível, abra as configurações e você encontrará uma nova opção "Desenvolver apps Android".

Ative a depuração do adb para que o computador seja reiniciado.

Ativar depuração do ADB

Quando o computador for reiniciado, você verá uma mensagem informando que pode haver aplicativos que não foram transferidos da app store para o dispositivo.

O dispositivo pode conter apps que não foram verificados pelo Google

O adb agora está disponível para implantar apps no Chromebook, executar comandos de depuração e interagir diretamente com o dispositivo.

Para que o app Android funcione bem em vários dispositivos Chromebook e formatos disponíveis, o Google recomenda que você teste o app nos seguintes dispositivos:

  • Chromebook baseado em ARM
  • Um Chromebook baseado em x86
  • Dispositivos com e sem tela touchscreen
  • Dispositivo conversível, ou seja, que pode alternar entre laptop e tablet
  • Dispositivo com stylus

Implantar no ChromeOS

Depois de ativar a depuração do adb, você pode carregar um app Android diretamente no dispositivo ChromeOS usando o Android Studio ou, se tiver um APK, poderá carregá-lo usando o terminal.

Implantar com o Android Studio

Depois de configurar o Android Studio e o adb, conforme descrito acima, você pode enviar seus apps para o contêiner do Android no Chromebook diretamente do Android Studio.

O Chromebook aparecerá como uma opção na lista suspensa do dispositivo:

Menu suspenso de dispositivos do Android Studio

Agora você pode enviar seu app como qualquer outro dispositivo Android. A caixa de diálogo de autorização do ADB aparece na primeira vez que você tenta enviar para um novo dispositivo. Depois que você autorizar, o aplicativo será iniciado em uma nova janela.

Conectar ao dispositivo usando o ADB no Android Studio

Agora é possível implantar o app no Chromebook, testar e depurar sem a complicação de estar no modo de desenvolvedor.

Implantar com o terminal

Instale o adb, se necessário:

sudo apt install adb

Conecte ao dispositivo:

adb connect arc

Um pop-up de autorização para depuração USB aparece na primeira vez que você tenta implantar no dispositivo, e é necessário permitir.

Autorização para se conectar ao dispositivo

Instale o app do terminal:

adb install [path to your APK]

Instalar o app no terminal

Implantar de outro dispositivo

Se não for possível usar o método descrito acima e for necessária a instalação do app via push de outro dispositivo, você poderá conectar o dispositivo ao adb usando USB ou um endereço de rede.

Conectar ao adb por uma rede

  1. Verifique se você ativou a depuração do adb.

Veja o endereço IP do seu Chromebook:

  1. Clique no relógio na área inferior direita da tela.

  2. Clique no ícone de engrenagem.

  3. Clique no tipo de rede em que a conexão foi estabelecida (Wi-Fi ou dados móveis) e dê um nome à rede.

  4. Anote o endereço IP.

Conecte-se ao Chromebook:

  1. Volte para a máquina de desenvolvimento e use o ADB para conectar-se ao Chromebook por meio do endereço IP:

    adb connect 
  2. No Chromebook, clique em "Permitir" ao ver a pergunta se você quer permitir o depurador. A sessão do ADB é estabelecida.

Solucionar problemas de depuração do ADB em uma rede

Em alguns casos, o dispositivo ADB mostra que está off-line mesmo quando a conexão está correta. Nesse caso, siga estas etapas para resolver o problema:

  1. Desative a depuração ADB nas Opções do desenvolvedor.
  2. Em uma janela de terminal, execute adb kill-server.
  3. Ative a opção Depuração adb novamente.
  4. Em uma janela de terminal, tente executar adb connect.
  5. Clique em Permitir ao ver a pergunta se você quer permitir a depuração. A sessão do ADB é estabelecida.

Conectar ao adb por USB

Para instalar seu APK via push de outro dispositivo para o Chromebook por USB, inicie o ChromeOS no modo de desenvolvedor para configurar o Chromebook e instalar apps pela máquina host. Esse é o único método que exige o modo de desenvolvedor no momento, e ele só funciona em um pequeno número de dispositivos. Por isso, é recomendável usar o ADB pela rede. Se você ainda quiser continuar, siga estas etapas para entrar no modo de desenvolvedor.

  1. Verifique se você ativou a depuração do adb.
  2. Verifique se o dispositivo é compatível com depuração USB.
  3. Pressione control+alt+t para iniciar o terminal do ChromeOS.
  4. Digite shell para acessar o shell do comando bash:
    crosh> shell
    chronos@localhost / $
  5. Digite os seguintes comandos para configurar o dispositivo:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. Depois da reinicialização, abra o terminal novamente e execute o seguinte comando para ativar o adb na porta USB do Chromebook:
    $ sudo ectool usbpd  dr_swap

Use esse comando sempre que desconectar e reconectar um cabo USB. Para verificar se o Chromebook está no modo UFP, execute ectool usbpd .

  1. Conecte um cabo USB a uma porta compatível no dispositivo.
  2. Execute adb devices nas ferramentas de plataforma do SDK do Android na máquina host para ver o Chromebook listado como dispositivo compatível com adb.
  3. No Chromebook, clique em Permitir ao ver a pergunta se você quer permitir o depurador. A sessão do ADB é estabelecida.