É ó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
- Ative a depuração do adb.
- Verifique se o dispositivo é compatível com depuração USB.
- Pressione Control + Alt + T para iniciar o terminal do Chrome OS.
Digite
shell
para acessar o shell do comando bash:crosh> shell chronos@localhost / $
Digite os seguintes comandos para configurar o dispositivo:
$ sudo crossystem dev_enable_udc=1 $ sudo reboot
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>
.
- Conecte um cabo USB a uma porta compatível no dispositivo.
- 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. - 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
Para depurar em uma rede, é necessário configurar o firewall do Chrome OS para permitir conexões de entrada do adb:
- Pressione Control + Alt + T para iniciar o terminal do Chrome OS.
Digite
shell
para acessar o shell do comando bash:crosh> shell chronos@localhost / $
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 executandochromeos-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
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:
- Clique no relógio na área inferior direita da tela.
- Clique no ícone de engrenagem.
- Clique no tipo de rede em que a conexão foi estabelecida (Wi-Fi ou dados móveis) e dê um nome à rede.
- Anote o endereço IP.
Conecte-se ao Chromebook:
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
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:
- Desative a depuração ADB nas Opções do desenvolvedor.
- Em uma janela de terminal, execute
adb kill-server
. - Ative a opção Depuração adb novamente.
- Em uma janela de terminal, tente executar
adb connect
. - Clique em Permitir ao ver a pergunta se você quer permitir a depuração. A sessão do adb é estabelecida.