Я использую React.JS, и когда я react-native run-android
(с подключенным устройством), я вижу пустую страницу. Когда я встряхиваю устройство и выбираю Debug JS Remotely
из списка опций, я вижу следующий экран.
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
В моем случае проблема заключалась в том, что эмулятор делал запрос:
http://10.0.2.2:8081/debugger-ui
вместо:
http://localhost:8081/debugger-ui
и запрос был неудачным.
Чтобы решить проблему: перед включением удаленной отладки на вашем эмуляторе откройте http://localhost:8081/debugger-ui
в chrome. Затем включите удаленную отладку и вернитесь на страницу хрома, где вы увидите свои журналы консоли.
Решили проблему для меня следующим образом:
Cmd + M
на экране эмулятораDev settings > Debug server host & port for device
localhost:8081
react-native run-android
Теперь отладчик подключен!
Я решил, что это сделать adb reverse tcp:8081 tcp:8081
а затем reload
на моем телефоне.
В моем случае, выбрав Debug JS удаленно запустил Chrome, но не подключился к устройству Android. Как правило, новая вкладка/окно Chrome содержит URL-адрес отладки, предварительно заполненный в адресной строке, но в этом случае адресная строка была пуста. После периода ожидания отобразилось сообщение об ошибке "Не удалось подключиться с удаленным отладчиком". Я исправил это следующим образом:
adb reverse tcp:8081 tcp:8081
http://localhost:8081/debugger-ui
в поле адреса моего браузера Chrome. Вы должны увидеть обычный экран отладки, но ваше приложение все равно не будет подключено.Это должно решить проблему. В противном случае вам могут потребоваться следующие дополнительные шаги:
react-native run-android
Убедитесь, что сервер узла для предоставления пакета запущен в фоновом режиме. Чтобы запустить запуск сервера, используйте npm start
или react-native start
и держите вкладку открытой во время разработки
Я сделал ответ @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 "
Мое дело в том, что при нажатии кнопки "Удаленная отладка JS" она запускает хром, но не может подключиться к нему.
Я попытался запустить:
adb reverse tcp:8081 tcp:8081
но не работает.
Я полностью удалил свой хром и установил новый. И это работает.
легко как это...
Шаг 01: откройте это в вашем браузере. По умолчанию появится отладчик.
Шаг 02: откройте ваш эмулятор Ctrl + M и выберите отладку js, и это автоматически подключит отладку RN
ты увидишь это
Статус: сеанс отладки № 0 активен
И хорошо идти
Убедитесь, что вы случайно не нажали "Остановить отладку JS удаленно" на симуляторе. Если он говорит "отлаживать JS удаленно", когда вы открываете инструменты разработчика на своем эмуляторе, чем остановили его.
react-native start
для запуска сервера.compile "com.facebook.react:react-native:+"
в разделе компиляции.