React-Native “Não foi possível conectar ao servidor de desenvolvimento” em createReactContext ()

Meu aplicativo nativo de reação do Android está travando com umExecutionException.

"Não foi possível conectar ao servidor de desenvolvimento."

O método que está travando éReactInstanceManagerImpl.createReactContext().

Mas isso énão é o erro normal como mostra esta captura de tela:

O Logcat me mostra este stacktrace:

Exception in native call from JS
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException:
 Could not connect to development server.
        at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:860)
        at com.facebook.react.ReactInstanceManagerImpl.access$700(ReactInstanceManagerImpl.java:98)
        at com.facebook.react.ReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(ReactInstanceManagerImpl.java:194)
        ...
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException:
        at com.facebook.react.common.futures.SimpleSettableFuture.get(SimpleSettableFuture.java:68)
        at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:831)
        ... 9 more
Caused by: java.lang.RuntimeException:
        at com.facebook.react.bridge.ReactBridge.loadScriptFromFile(Native Method)
        at com.facebook.react.bridge.JSBundleLoader$2.loadScript(JSBundleLoader.java:58)
        at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:148)
        at com.facebook.react.ReactInstanceManagerImpl$4.call(ReactInstanceManagerImpl.java:851)
        ...

Isso sugere que o servidor enviou o código javascript de volta ao dispositivo e oReactBridge.loadScriptFromFile() de alguma forma não pode lidar com o pacote.

Pontos a esclarecer:

isso acontece no emulador e no dispositivo (conectado via USB)isso acontece no Linux (Mint) e Windows (8.1)Eu corriadb reverse tcp:8081 tcp:8081 conforme o conselho normaleu corrireact-native start e o empacotador / servidor está sendo executadoo dispositivo se conecta ao servidor de desenvolvimento, pois isso é registrado na janela do empacotadoro URL atingido pelo dispositivo retorna dados, como pode ser visto se copiado na barra de endereços do navegador

Como isso é diferente denormal Mensagem "Não foi possível conectar ..."?

Aqui está uma captura de tela do que acontece quando o servidor não está legitimamente em execução:

As diferenças incluem:

nãoExecutionException ouRuntimeException antes da mensagem de erromaior clareza ao fornecer o URL que foi chamado no servidorerro vem deDevServerHelper.onFailure()

O Logcat mostra que o stacktrace é bem diferente nessenormal caso esperado:

Unable to download JS bundle
com.facebook.react.devsupport.DebugServerException:
 Could not connect to development server.
        at com.facebook.react.devsupport.DevServerHelper$1.onFailure(DevServerHelper.java:196)
        at okhttp3.RealCall$AsyncCall.execute(RealCall.java:140)
        at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)

questionAnswers(1)

yourAnswerToTheQuestion