Skip to content

Instantly share code, notes, and snippets.

@tiagonevestia
Created December 15, 2018 02:00
Show Gist options
  • Save tiagonevestia/71abd24dc8525b747fd3a8ce5f0ffe74 to your computer and use it in GitHub Desktop.
Save tiagonevestia/71abd24dc8525b747fd3a8ce5f0ffe74 to your computer and use it in GitHub Desktop.
Para resolvermos o problema da tela vermelha ao tentarmos dar reload na nossa aplicação devemos fazer o seguinte. Devemos subir o serviço do node numa porta separada através do comando "react-native start --port=8088", porém no momento de configurar o nosso celular temos uma particularidade.
Obs0: Não feche o terminal que está rodando o seu serviço na nova porta, para executar os comandos abaixo, abra outra instância do terminal. Como não temos como apertar nenhuma tecla no celular, devemos enviar o comando "adb shell input keyevent 82", isso irá simular o Ctrl + M (utilizado para abrir o menu caso você esteja utilizando o emulador do Android Studio) e abrir o menu de opções.
Com o menu aberto, escolha a opção "Dev Settings" e depois clique em "Debug server host for device". Agora a particularidade. Execute o comando "ipconfig" e recupere o valor do IPv4, com esse valor em mãos, escreva o valor do seu IPv4:sua porta (ex: 123.235.0.13:8088). Lembrando que a porta deve ser a mesma que foi iniciada pelo comando "react-native start". Pronto, com isso feito, seu celular estará apto a realizar o reload utilizando o RR.
Se você estiver usando o emulador, basta seguir os mesmos passos, sem usar os comando "adb shell input keyevent" e na hora de inserir o IP, utilize o seguinte IP: 10.0.1.1:[porta_escolhida] ou 10.0.2.2:[porta_escolhida], que no nosso caso foi a porta 8088, então ficaria: 10.0.1.1:8088 ou 10.0.2.2:8088
Obs1: Se não funcionar utilizando o ip 10.0.1.1 ou 10.0.2.2, utilize o IPv4 mesmo no emulador.
Obs2: Para simularmos o comando RR basta executar no terminal o comando "adb shell input keyevent 46 46".
Obs2.1: Caso ocorra algum erro, tente novamente, as vezes a conexão pode ser perdida.
Obs3: Documentação oficial que me auxiliou na solução: https://facebook.github.io/react-native/releases/0.32/docs/running-on-device-android.html
Obs4: O celular deve estar conectado na mesma rede wi-fi do computador.
Obs5: Esse problema ocorre com pessoas que já tem sua porta 8081 comprometida por algum serviço, e por algum motivo específico, não o podem parar. (Ex: McAfee)
Obs6: Todos os comando citados acima devem ser executados na pasta raiz do seu projeto.
Espero ter ajudado. Um abraço!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment