4 min de leitura
Como usar aparelho android físico sem USB no react-native-cli

Uma das dores que tive ao migrar do expo para o react native cli, foi o fato de precisar estar com o cabo USB conectado em meu computador para desenvolver, ao contrario do expo com expo go que basta escanear um código qr e voilà tudo pronto de forma mágica.

Mas o fato é que a experiência com react native cli pode ser ainda mais satisfatória e mais simples do que utilizando expo e já vou te mostrar. Calma jovem gafanhoto, não estou apontando que você deveria usar react native cli ou que react native cli é melhor do que o expo. Ambos tem suas vantagens e desvantagens, inclusive a própria documentação do react native recomenda iniciar seus projetos utilizando expo. O intuito aqui é apenas ajudar a resolver uma dor de quem trabalha ou é forçado a trabalhar utilizando react native cli.

Vamos direto ao ponto, há várias formas de se resolver esse problema. Aqui eu vou citar as mais simples e mais práticas, já que o intuito é deixar a experiência tão boa quanto utilizando expo.

Usando debug server host

  1. Descubra o IP do seu computador:
ipconfig

Procure algo como:

IPv4 Address. . . . . . : 192.168.0.15
  1. Inicie o metro normalmente: Na raiz do projeto execute
npx react-native start
  1. Rode o app no Android Primeira vez ainda pode precisar do USB:
npx react-native run-android

Depois disso, o APK já estará instalado.

  1. Configure o Debug Server Host Abra o menu de configurações no aplicativo instalado, geralmente é a tecla M ou D Vá em
Dev Settings → Debug server host & port for device
  1. Coloque:

Substitua o ip pelo seu pc.

192.168.0.15:8081
  1. Recarregue o App. Agora ele j́á usa o Metro via wifi.

Para esse método funcionar, assim como todos os demais o celular deve estar conectado na mesma rede que o computador.

Alternativa melhor: ADB over Wi-Fi

A partir do android 11 é possível ativar a depuração USB pelo wifi, o que facilita muito as coisas.

  1. Ative as opções do desenvolvedor:
Configurações → Sobre o telefone → Número da versão

Toque 7 vezes.

  1. Ative a depuração por WI-FI
Opções do desenvolvedor →  
- Depuração USB  
- Depuração sem fio (Wireless debugging)
  1. Conecte o dispositivo No celular procure a opção parear dispositivo com código de pareamento, geralmente fica em:
Wireless debugging → Pair device with pairing code

Você verá algo assim:

IP: 192.168.0.20  
Porta pareamento: 37099  
Código: 123456
  1. Faça o pair no pc
adb pair 192.168.0.20:37099

Depois digite o código mostrado no celular.

  1. Conecte no ADB Ainda na tela do Wireless debugging terá outro endereço:
IP address & Port  
192.168.0.20:39343

Agora:

adb connect 192.168.0.20:39343

Pronto agora seu celular está conectado e você pode usar normalmente. Depois que é feito o pareamento você irá precisar rodar apenas o comando adb connect, a não ser que você remova o dispositivo dos dispositivos autorizados. Essa é definitivamente a minha forma favorita, requer um setup inicial, mas depois disso é só alegria. E a vantagem aqui é que não perdemos nenhuma informação, por exemplo os logs do dispositivo.

Android antigo (ADB TCP/IP)

Se você não possui um aparelho android com pelo menos android 11 há ainda outra alternativa. Com o USB conectado uma unica vez:

  1. Execute:
adb tcpip 5555
  1. Pegue o IP do celular:
adb shell ip route
  1. Conecte:
adb connect 192.168.0.20:5555

Agora pode remover do USB.

Essas são algumas das formas que encontrei para deixar a experiência de desenvolver usando react native cli mais amigável. Espero ter te ajudado de alguma forma. Obrigado!