webentwicklung-frage-antwort-db.com.de

Es kann keine Verbindung mit dem Remote-Debugger hergestellt werden

Ich verwende React.JS und wenn ich react-native run-Android (mit angeschlossenem Gerät) mache, sehe ich eine leere Seite. Wenn ich das Gerät schüttle und in der Optionsliste Debug JS Remotely auswähle, wird der folgende Bildschirm angezeigt.

 enter image description here

Zu Ihrer Information: 

OS: Ubuntu 16.04
Node version is: v4.6.2
Java version "1.8.0_111"
react": "15.4.1
react-native": "0.38.0
110
splunk

In meinem Fall bestand das Problem darin, dass der Emulator eine Anforderung an Folgendes stellte: 

http://10.0.2.2:8081/debugger-ui 

anstatt:

http://localhost:8081/debugger-ui und die Anfrage schlug fehl.

So lösen Sie das Problem: Bevor Sie das Remote-Debugging auf Ihrem Emulator aktivieren, , öffnen Sie http://localhost:8081/debugger-ui in chrom. Aktivieren Sie dann das Remote-Debugging und kehren Sie zur Chrome-Seite zurück, auf der Sie Ihre Konsolenprotokolle sehen sollten.

236
DannyMoshe

Das Problem wurde für mich wie folgt gelöst:

  • Drücken Sie Cmd + M auf dem Emulatorbildschirm
  • Gehe zu Dev settings > Debug server Host & port for device
  • localhost:8081 einstellen
  • Führen Sie die Android-App erneut aus: react-native run-Android

Debugger ist jetzt verbunden!

137
Sajib Khan

Ich habe es mit adb reverse tcp:8081 tcp:8081 und dann reload auf meinem Handy gelöst. 

35
splunk

In meinem Fall wurde durch Auswahl von Debug JS Remote Chrome gestartet, aber keine Verbindung mit dem Android-Gerät hergestellt. Normalerweise ist die Debugging-URL in der neuen Chrome-Registerkarte/dem neuen Fenster in der Adressleiste bereits ausgefüllt. In diesem Fall war die Adressleiste jedoch leer. Nach dem Timeout wurde die Fehlermeldung "Verbindung mit Remote-Debugger kann nicht hergestellt werden" angezeigt. Ich habe dies mit dem folgenden Verfahren behoben:

  • adb reverse tcp:8081 tcp:8081 ausführen
  • Fügen Sie http://localhost:8081/debugger-ui in das Adressfeld meines Chrome-Browsers ein. Sie sollten den normalen Debugging-Bildschirm sehen, aber Ihre App ist immer noch nicht verbunden.

Das sollte das Problem beheben. Wenn nicht, müssen Sie möglicherweise die folgenden zusätzlichen Schritte ausführen:

  • Schließen Sie die App und deinstallieren Sie sie von Ihrem Android-Gerät
  • Installieren Sie die App erneut mit react-native run-Android.
  • Aktivieren Sie das Remote-Debugging in Ihrer App.
  • Ihre App sollte jetzt mit dem Debugger verbunden sein.
28
Tom Aranda

Ich hatte ein ähnliches Problem, das mich zu dieser Frage führte. In meinem Browser-Debugger wurde folgende Fehlermeldung angezeigt:

Zugriff auf ' http: // localhost: 8081/index.delta? Platform = Android & dev = true & minify = false ' from Origin ' http://127.0.0.1:8081 ' wurde von blockiert CORS-Richtlinie: Auf der angeforderten Ressource ist kein Header "Access-Control-Allow-Origin" vorhanden. Wenn eine undurchsichtige Antwort Ihren Anforderungen entspricht, setzen Sie den Modus der Anforderung auf 'no-cors', um die Ressource bei deaktiviertem CORS abzurufen.

Es dauerte eine Weile, bis ich merkte, dass ich 127.0.0.1:8081 anstelle von localhost:8081 für meinen Debugger verwendete.

Um das Problem zu beheben, musste ich einfach Chrome von:

http://127.0.0.1:8081/debugger-ui/

zu

http://localhost:8081/debugger-ui/
6
jchavannes

Stellen Sie sicher, dass der Knotenserver, der das Bundle bereitstellt, im Hintergrund ausgeführt wird. Um den Server zu starten, verwenden Sie npm start oder react-native start und halten die Registerkarte während der Entwicklung geöffnet 

2
Chethan N

Mein Fall ist, dass, wenn ich auf "Remote JS-Debugging aktivieren" tippe, Chrome gestartet wird, aber keine Verbindung hergestellt werden kann.

Ich habe versucht zu laufen: 

adb reverse tcp:8081 tcp:8081 

, hat aber nicht funktioniert.

Ich habe meinen Chrome komplett deinstalliert und einen neuen installiert. Und es funktioniert.

1
Steven Fang
  1. reaktiver Start - Cache zurücksetzen in einem Tab und reaktiver Run-Android in einem anderen
  2. adb reverse tcp: 8081 tcp: 8081 (also kannst du es zu deinen Skripten hinzufügen und einfach faden laufen lassen adb-reverse )
  3. Wenn Sie mit Android arbeiten, sollten Sie nicht mit dem Telefon schütteln, sondern die Befehle adb ausführen.

So können Sie laufen:

  • adb-Shell-Eingabeschlüsselereignis 82 ( Menüoption )
  • adb Shell Input Keyevent 46 46 ( reload )
1
Ribamar Santos

Mit allen beeindruckenden Antworten, die die Experten-Entwickler speziell Ribamar Santos zur Verfügung gestellt haben, müssen Sie etwas schwierigeres prüfen, wenn Sie es nicht zum Laufen gebracht haben!

So etwas wie Airplane mode deines (emulierten) Telefons! Oder Ihr network status of Emulator (Data status and Voice status on Cellular tab of Emulator configuration), der manipuliert werden könnte, um das Netzwerk nicht auszudrücken! für einige Emulationsanforderungen!

Ich habe dieses Problem durch diesen Trick überwunden! Es war ein bisschen atemberaubend, dieses Loch zu finden!

0
AbdolHosein

deinstallieren Sie Ihre Anwendung und führen Sie dann "Reak-Native Run-Android" aus. Klicken Sie dann auf Debuggen und dann auf Chrome ersetzen http: // localhost: 8081/debugger-ui/ . Wenn Sie immer noch nicht erfolgreich sind, versuchen Sie es erneut

0
muhyidin

in meinem Fall muss es auch das npm-Paket installieren

so

npm install react-native-debugger -g
0
Ehsan sarshar

Ich antwortete @sajib und benutzte dieses Skript, um Ports umzuleiten:

#!/usr/bin/env bash

# packager
adb reverse tcp:8081 tcp:8081
adb -d reverse tcp:8081 tcp:8081
adb -e reverse tcp:8081 tcp:8081

echo "???? React Native Packager Redirected ????"
0
Thomazella