Невозможно загрузить скрипт. Убедитесь, что вы используете сервер Metro или что ваш пакет 'index.android.bundle' правильно упакован для выпуска - PullRequest
28 голосов
/ 31 марта 2019

response-native run-android завершает работу, оставляя сообщение в сообщении в симуляторе Android. Сообщение выглядит следующим образом

Невозможно загрузить скрипт. Убедитесь, что вы используете сервер Metro или что ваш пакет 'index.android.bundle' правильно упакован для выпуска.

Я полностью сбит с толку, что делаю не так.


Редактировать: добавление скриншота с ошибкой

enter image description here

Ответы [ 10 ]

11 голосов
/ 31 марта 2019

Вы еще не запустили упаковщик. Запустите npm start или react-native start в корневом каталоге вашего проекта до react-native run-android

5 голосов
/ 01 апреля 2019

Подобная проблема произошла со мной Видимо Mcafee блокирует порт 8081, мне потребовались часы, чтобы понять это

Попробуйте запустить реакцию-нативный run-android --port = 1234

После того, как приложение отобразится в эмуляторе с ошибкой, перейдите в настройки dev (доступны по нажатию crtl + M)

Измените «Отладочный серверный хост и порт для устройства» на «localhost: 1234»

закройте приложение и запустите его из ящика приложения

надеюсь, это тебе тоже поможет !!

3 голосов
/ 31 мая 2019

Эти шаги действительно помогают мне:

Шаг 1: Создать каталог в android / app / src / main / assets

Команда Linux : mkdir android/app/src/main/assets

Шаг 2: Переименование index.android.js в index.js:

Команда Linux: react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

Шаг 3: Создайте свой APK: react-native run-android

2 голосов
/ 28 июня 2019

Для меня эта ошибка была вызвана обновлением реактивной системы

Начиная с Android 9.0 (уровень API 28), поддержка открытого текста по умолчанию отключена.

Если вы ознакомились с обновлением diff, вам нужно создать отладочный манифест android/app/src/debug/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
</manifest>

Подробнее см .: https://stackoverflow.com/a/50834600/1713216

https://react -native-community.github.io / обновить-хелперов /

2 голосов
/ 24 июня 2019

если у вас все правильно настроено, попробуйте это:

АБР, обратный протокол: 8081, протокол: 8081

Почему? «Когда RN-упаковщик работает, в вашем браузере доступен активный веб-сервер по адресу 127.0.0.1:8081. Именно с этого сервера JS-пакет для вашего приложения обслуживается и обновляется по мере внесения изменений. Без обратного прокси-сервера ваш телефон не сможет подключиться к этому адресу. "

все кредиты Swingline0

1 голос
/ 30 мая 2019

Я просто хочу добавить неочевидную возможность, не описанную здесь.Я использую @ реагировать-нативное сообщество / netinfo для обнаружения изменений сети, прежде всего состояния сети.Чтобы проверить состояние отключения сети, переключатель WIFI (на эмуляторе) необходимо отключить.Это также эффективно отсекает мост между эмулятором и средой отладки.Я не включил WIFI после тестов, так как был далеко от компьютера и сразу же забыл об этом, когда вернулся.

Есть вероятность, что это могло бы быть и для кого-то другого, и стоитпроверка, прежде чем предпринимать какие-либо другие радикальные шаги.

1 голос
/ 17 мая 2019

Мое решение для этого, как показано ниже:

Запуск сервера Metro

$ react-native start

Запустить Android

$ react-native run-android

Если в сообщении об ошибке указано «порт 8081 уже используется», то вы можете завершить этот процесс и запустить снова

$ react-native start

См. Реагировать на собственную страницу устранения неполадок .

1 голос
/ 16 мая 2019

Попробуйте следующее.

  1. Удалите папки Android и IOS
  2. запустите реактивный извлечение
  3. запустите реактивный запуск андроид

Может быть, после предыдущих шагов у вас есть запуск npm start - --reset-cache

Я работаю, надеюсь, вам это поможет.

0 голосов
/ 17 мая 2019

По умолчанию крошечный сервер JavaScript с именем «Metro Server» работает на порту 8081.

Вам необходимо сделать этот порт доступным для запуска этого сервера.Итак,

  1. освободите порт
  2. , закройте ваше виртуальное устройство
  3. снова «-реагирующий запуск-android».

Как освободить порт?

http://tenbull.blogspot.com/2019/05/how-to-kill-process-currently-using.html

Как убить процесс, использующий в настоящее время порт на локальном хосте в Windows?

и, самое главное, я обновил версию своего узлаот 8.x до 10.x (самое последнее), как предложено в Facebook @ https://facebook.github.io/react-native/docs/getting-started

0 голосов
/ 23 апреля 2019

ВАЖНО - В вашей среде может быть много виртуальных устройств. Убедитесь, что если вы меняете AVD, повторите настройку снова.

ИНФОРМАЦИЯ ОТЛАДКИ-

Если вы столкнулись с вышеуказанной ошибкой, вы должны сначала проверить, что работает на порту 8081

Самый быстрый способ найти, используя следующую команду в терминале

netstat -aon | findstr 8081

если это что-то показывает, значит порт заблокирован. если возможно, разблокируйте этот порт.

В противном случае вам нужно будет изменить порт. Процесс, который делает это, уже упоминался выше в комментарии Naveen Kumar

реакция-нативный run-android --port = 9001

Убедитесь, что 9001 также не используется:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...