Debug de React Native no Windows sem perder a tarde
Metro, adb, logcat e os erros mais comuns quando o emulador no Windows não sobe ou o app não recarrega.
Instalar React Native no Windows é uma parte. A outra é descobrir por que o Metro trava, o emulador não aparece ou o run-android some no meio do build. Este é o checklist que eu uso antes de recriar o projeto.
Metro e cache
Se o bundle antigo fica grudado, limpe na ordem:
npx react-native start --reset-cache
Ainda ruim? Apague node_modules e o cache do Metro:
rmdir /s /q node_modules
npm start -- --reset-cache
No PowerShell, Remove-Item -Recurse -Force node_modules faz o mesmo.
adb não vê o emulador
O emulador pode estar ligado e o adb devices ainda assim vazio. Confira:
ANDROID_HOMEaponta para o SDK (em geral%LOCALAPPDATA%\Android\Sdk).platform-toolsestá noPath.- Rode
adb kill-servere depoisadb start-server.
A lista deve mostrar um emulator-5554 device. Se aparecer unauthorized, aceite o diálogo de USB debugging no emulador.
Documentação útil: Android Debug Bridge.
Logcat sem ruído
O log do sistema é barulhento. Filtre pelo pacote do app:
adb logcat *:S ReactNative:V ReactNativeJS:V
Erro nativo (crash no Java/Kotlin) não aparece no console do Metro. Aí o logcat é a fonte.
Porta 8081 ocupada
No Windows, outro Node costuma segurar a porta do Metro:
netstat -ano | findstr :8081
taskkill /PID <pid> /F
Ou suba o Metro em outra porta e aponte o app para ela.
Gradle falhou no meio
Disco cheio, JDK errado e SDK incompleto são os três mais comuns. Confira o JDK que o Gradle está usando:
cd android
gradlew -version
Se a versão do Java não bate com a que o React Native pede na doc da sua versão, o erro de compile parece aleatório.
Quando recriar o AVD
Se o emulador abre tela preta ou fecha sozinho, apague o AVD no Device Manager e crie de novo com imagem Google APIs, não a system image “Google Play” mais pesada, pelo menos no primeiro teste.
O objetivo não é memorizar comando. É ter uma ordem: cache → adb → logcat → porta → JDK. Nessa sequência dá para achar o problema na maioria das vezes.
