it-swarm.com.ru

Невозможно соединиться с удаленным отладчиком

Я использую React.JS, и когда я делаю react-native run-Android (с подключенным устройством), я вижу пустую страницу. Когда я встряхиваю устройство и выбираю Debug JS Remotely из списка опций, я вижу следующий экран.

enter image description here

FYI:

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
128
splunk

В моем случае проблема заключалась в том, что эмулятор делал запрос: 

http://10.0.2.2:8081/debugger-ui 

вместо:

http://localhost:8081/debugger-ui и запрос не удался.

Чтобы решить эту проблему: Перед включением удаленной отладки на вашем эмуляторе , откройте http://localhost:8081/debugger-ui в chrome. Затем включите удаленную отладку и вернитесь на страницу Chrome, где вы должны увидеть журналы консоли.

236
DannyMoshe

Решил вопрос для меня следующим образом:

  • Нажмите Cmd + M на экране эмулятора
  • Перейти к Dev settings > Debug server Host & port for device
  • Установить localhost:8081
  • Перезапустите приложение Android: react-native run-Android

Отладчик подключен сейчас!

137
Sajib Khan

Я решил это с помощью adb reverse tcp:8081 tcp:8081, а затем reload на моем телефоне. 

35
splunk

В моем случае, выбрав Debug JS Remotely запустил Chrome, но не подключился к устройству Android. Обычно на новой вкладке/окне Chrome URL-адрес отладки предварительно заполняется в адресной строке, но в этом случае адресная строка была пустой. По истечении времени ожидания отображается сообщение об ошибке «Не удается подключиться к удаленному отладчику». Я исправил это с помощью следующей процедуры:

  • Запустите adb reverse tcp:8081 tcp:8081
  • Вставьте http://localhost:8081/debugger-ui в поле адреса моего браузера Chrome. Вы должны увидеть обычный экран отладки, но ваше приложение все равно не будет подключено.

Это должно решить проблему. Если нет, вам может потребоваться выполнить следующие дополнительные действия:

  • Закройте и удалите приложение с вашего устройства Android
  • Переустановите приложение с помощью react-native run-Android
  • Включите удаленную отладку в вашем приложении.
  • Ваше приложение должно быть подключено к отладчику.
28
Tom Aranda

У меня была похожая проблема, которая привела меня к этому вопросу. В моем браузере отладчик я получаю это сообщение об ошибке:

Доступ к выборке в/ http: // localhost: 8081/index.delta? Platform = Android & dev = true & minify = false 'from Origin' http://127.0.0.1:8081 'заблокирован пользователем Политика CORS: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.

Мне потребовалось некоторое время, чтобы понять, что я использую 127.0.0.1:8081 вместо localhost:8081 для своего отладчика.

Чтобы это исправить, мне просто пришлось сменить Chrome на:

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

в

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

Убедитесь, что сервер узла для предоставления пакета работает в фоновом режиме. Для запуска запуска сервера используйте npm start или react-native start и оставляйте вкладку открытой во время разработки 

2
Chethan N

Мой случай, когда я нажимаю включить удаленную отладку JS, он запускает Chrome, но не может подключиться к нему.

Я пытался бежать: 

adb reverse tcp:8081 tcp:8081 

, но не работает.

Я полностью удалил свой хром и установил новый. И это работает.

1
Steven Fang
  1. реактивный запуск --reset-cache в одной вкладке и реактивный запуск Android в другой
  2. adb reverse tcp: 8081 tcp: 8081 (чтобы вы могли добавить его в свои сценарии и просто запустить yarn запустить adb-reverse )
  3. Если вы используете Android, вместо того, чтобы трясти ваш телефон, советую использовать команды adb.

Таким образом, вы можете запустить:

  • adb Shell keyevent 82 ( опция меню )
  • adb Shell keyevent 46 46 ( перезагрузить )
1
Ribamar Santos

Включая все впечатляющие ответы, специально предоставленные Ribamar Santos опытными разработчиками, если вы не работали, вы должны проверить что-то более сложное!

Что-то вроде Airplane mode вашего (эмулированного) телефона! Или ваш network status of Emulator (Data status and Voice status on Cellular tab of Emulator configuration), которым можно манипулировать, чтобы не выражать сеть! для некоторых нужд эмуляции!

Я решил эту проблему с помощью этого трюка! Это была немного захватывающая отладка, чтобы найти эту дыру!

0
AbdolHosein

удалите ваше приложение, затем запустите реагирующую версию Android. затем нажмите кнопку отладки end в chrome replace http: // localhost: 8081/debugger-ui/ , end run response-native run-Android. если вам все еще не удалось, попробуйте еще раз

0
muhyidin

Я сделал ответ @sajib и использовал этот скрипт для перенаправления портов:

#!/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