Ambiente para desenvolvedores

É ó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 Chrome OS.

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

Se os desenvolvedores estiverem implantando o app Android diretamente no Chrome OS (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 Chrome OS, com muita facilidade. Veja como:

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

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.

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 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
  • 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 Chrome OS

Depois de ativar a depuração do adb, você pode carregar um app Android diretamente no dispositivo Chrome OS 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:

Agora você pode enviar seu app como qualquer outro dispositivo Android. A caixa de diálogo de autorização do adb será exibida. Depois que você autorizar seu aplicativo, ele será iniciado em uma nova janela.

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 é exibido. Autorize.

Instale o app do terminal:

    adb install [path to your APK]

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.

Para instalar seu APK via push de outro dispositivo para o Chromebook, inicie o Chrome OS no modo de desenvolvedor para configurar o Chromebook e instalar apps pela máquina host. Siga estas etapas para entrar no modo de desenvolvedor

Conectar ao adb por USB

  1. Ative 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 Chrome OS.
  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 <port number> 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 <port number>.

  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.

Conectar ao adb por uma rede

  1. Ative a depuração do adb.

Para depurar em uma rede, é necessário configurar o firewall do Chrome OS para permitir conexões de entrada do adb:

  1. Pressione Control + Alt + T para iniciar o terminal do Chrome OS.
  2. Digite shell para acessar o shell do comando bash:

    crosh> shell
    chronos@localhost / $
    
  3. Digite os seguintes comandos para configurar recursos de desenvolvedor e ativar o acesso de gravação em disco para as mudanças nas configurações de firewall. Se você precisa inserir uma senha sudo para o usuário chronos, é possível (re)definir uma executando chromeos-setdevpassword no prompt VT-2. Para isso, basta pressionar Control + Alt + seta para frente. Você precisará da sua senha raiz.

    $ sudo crossystem dev_boot_signed_only=0
    $ sudo /usr/libexec/debugd/helpers/dev_features_rootfs_verification
    $ sudo reboot
    
  4. O comando sudo reboot reiniciará o Chromebook. Pressione a tecla Tab para ativar o preenchimento automático dos nomes dos arquivos. É preciso realizar esse procedimento apenas uma vez no Chromebook.

Depois que o dispositivo for reiniciado, faça login na conta de teste e digite o seguinte comando para ativar o shell seguro e configurar o firewall corretamente:

    $ sudo /usr/libexec/debugd/helpers/dev_features_ssh

Quando o comando for concluído, você poderá sair do shell.

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 <ip_address>:22
    
  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.