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

96

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

Изображение 165

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
  • 1
    На Android вам нужно запустить в отдельном окне react-native start для запуска сервера.
  • 0
    Как насчет изменения этого: compile "com.facebook.react:react-native:+" в разделе компиляции.
Теги:
react-native

9 ответов

224

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

http://10.0.2.2:8081/debugger-ui

вместо:

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

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

  • 1
    работал для меня - спасибо! Вы нашли способ установить его, чтобы всегда пытаться подключиться к localhost, чтобы избежать необходимости открывать вкладку Chrome в первую очередь?
  • 23
    Вы можете зайти в настройки Dev (Ctrl + M) на вашем эмуляторе и изменить сервер отладки на localhost: 8081.
Показать ещё 5 комментариев
114

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

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

Теперь отладчик подключен!

  • 1
    У меня работает .. спасибо
  • 0
    Большое спасибо .. это решение работает для меня!
Показать ещё 5 комментариев
31

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

  • 1
    Это решило проблему для меня
25

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

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

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

  • Закройте и удалите приложение с вашего устройства Android
  • Переустановите приложение с помощью react-native run-android
  • Включите удаленное отладочное приложение.
  • Теперь ваше приложение должно быть подключено к отладчику.
  • 1
    Том ... спасибо! Перед этим я установил свой IP-адрес («Настройки Dev» -> «Хост сервера отладки для устройства») xxxx: 8081
2

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

  • 1
    Все еще не работает. Ни один терминал не возвращает мне ошибки
  • 1
    Запускаете ли вы какой-либо прокси-сервер или прокси-сервер, например, чарльз?
Показать ещё 1 комментарий
0

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

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

Мое дело в том, что при нажатии кнопки "Удаленная отладка JS" она запускает хром, но не может подключиться к нему.

Я попытался запустить:

adb reverse tcp:8081 tcp:8081 

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

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

-2

легко как это...

Шаг 01: откройте это в вашем браузере. По умолчанию появится отладчик.

HTTP://локальный: 8081/отладчик-щ/

Шаг 02: откройте ваш эмулятор Ctrl + M и выберите отладку js, и это автоматически подключит отладку RN

ты увидишь это

Статус: сеанс отладки № 0 активен

И хорошо идти

-6

Убедитесь, что вы случайно не нажали "Остановить отладку JS удаленно" на симуляторе. Если он говорит "отлаживать JS удаленно", когда вы открываете инструменты разработчика на своем эмуляторе, чем остановили его.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню