Подтвердить что ты не робот

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.

4b9b3361

Ответ 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" />