React Native 'hello world' быстрый старт: "не удалось подключиться к серверу разработки"
Я пытаюсь отредактировать собственный "привет мир", и я использую отладку usb на моем Android.
Я побежал react-native run-android
, затем react-native start
.
Я могу просмотреть файл js в localhost
, но на моем телефоне сообщение "не удалось подключиться к серверу разработки".
Я выполнил инструкции для запуска adb reverse tcp:8081 tcp:8081
, а затем понял, что эта команда не существует, поэтому я запустил adb forward tcp:8081 tcp:8081
.
По-прежнему не повезло. Используя реакцию[email protected], ubuntu 14.04. Мой телефон - nexus 5 на android 6.0.1.
Как я могу разрешить моему телефону получать доступ к моему localhost
?
Кстати, он работает над Wi-Fi, но я бы хотел, чтобы он работал над usb.
Ответы
Ответ 1
Еще один сценарий, эта ошибка произошла со мной, когда я забыл запустить команду react-native start
. Я обычно выполняю шаги здесь, когда я запускаю новый проект. Шаги в двух словах следующие (Android в моем случае):
- Запустите Android Studio → AVD Manager → выберите свой aVD и нажмите "Начать действие"
-
внутри каталога, в котором вы хотите создать свой новый проект, откройте свою командную строку и запустите:
$ react-native init <Your new project name/it is also the registration name>
$ cd <the new directory you created>
$ react-native start //This is the step that I forgot
-
Откройте новую командную строку и запустите следующее внутри того же самого каталога (только что созданного), чтобы запустить приложение на своем AVD.
$ react-native run-android
-
Если все настроено правильно, вы вскоре увидите новое приложение, работающее в вашем эмуляторе Android.
-
Вы найдете в файле index.android.js в домашнем каталоге вашего проекта, последняя строка содержит реестр приложений с использованием того же имени, которое вы использовали в первой команде выше
Ответ 2
adb reverse tcp:8081 tcp:8081
Работает только для android 5.0 + для запуска приложения на устройствах с версиями Android менее 5,0, после следующей команды после npm start
выполняется в Terminal (в папке каталога приложений).
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
теперь запустите приложение, оно будет работать. Единственным недостатком является то, что каждый раз, когда вы делаете изменения, вам нужно снова запустить команду и снова запустить приложение.
Ответ 3
10 минут назад у меня была такая же проблема, как я предполагаю, и так, как я решил это, было читать это
https://facebook.github.io/react-native/docs/running-on-device-android.html
и когда я это сделал, я обнаружил, что у меня не установлено android-tools-adb
так что оглядываясь, я нашел
Ошибка команды 'adb' found на Ubuntu
который дает мне ответ
sudo apt-get install android-tools-adb
и после всего этого я установил
export PATH=${PATH}:~/android-sdk-linux/tools
export PATH=${PATH}:~/android-sdk-linux/platform-tools
тогда все работает отлично, теперь я вижу свое приложение на своем устройстве Android.
Кстати, вариант, который я выбрал, из реактивных родных документов был тем, который говорит мне
"Использование adb reverse
Обратите внимание, что этот параметр доступен на устройствах под управлением Android 5.0+ (API 21).
Подключите ваше устройство через USB с включенной отладкой (см. Параграф выше о том, как включить отладку USB на вашем устройстве).
Run adb reverse tcp:8081 tcp:8081
Вы можете использовать Reload JS и другие варианты разработки без дополнительной настройки
Ответ 4
Я нашел решение:)
Я нахожусь на ubuntu 16, поэтому я использовал команду ip addr show, которая дала мне мой IP-адрес компьютера.
Я использовал этот ip-адрес, и я смог получить доступ к localhost на своем мобильном устройстве.
Наконец, я добавил ip-адрес и порт no в devsettings телефона android, и Мое приложение смогло получить доступ к серверу разработки
Ответ 5
У меня была аналогичная проблема. Я получаю эту ошибку при попытке запустить ее на устройстве. Он отлично работал на моих тренажерах на моем компьютере.
Проблема заключалась в том, что когда я буду делать adb-устройства или реагировать на собственный run-android, я бы получил "ADB не распознан как внутренняя или внешняя команда".
Итак, мое исправление заключалось в том, чтобы добавить путь к родительскому каталогу adb.exe в мои переменные среды и перезапустить мои командные подсказки. После того, как я это сделал, устройства adb не выбрасывали "непризнанный внутренний внешний бла", и он перечислил мое устройство. Затем я запустил run-андроид на основе реакции, и при запуске больше нет красного экрана, показывающего абсолютно бесполезное сообщение об ошибке. Ошибка при вызове AppRegistry.runApplication!:)
Итак, я обнаружил, что ADB находится в моей папке:
C:\Users\лощина\AppData\Local\Android\SDK\платформенные инструменты \adb.exe
Я нахожусь в системе Windows 10. dell - мое имя пользователя компьютера.
Итак, я пошел в System Environemnt Variables, затем нашел "Path", затем нажал "Edit", затем щелкнул "New" и добавил в "C:\Users\dell\AppData\Local\Android\sdk\platform-tools".
Ответ 6
Я вижу ту же проблему, и все потому, что приложение для Android не имеет этого разрешения:
<uses-permission android:name="android.permission.INTERNET" />