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

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

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

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


Изменить: добавление скриншота ошибки

67 ответов

Я испытал это только потому, что мой Wi-Fi был ошибочно отключен на моем эмуляторе. Я снова включил его, и он начал работать нормально. Надеюсь, это кому-то поможет

Решение :

Бегать:

      adb reverse tcp:8081 tcp:8081

Попробуйте выполнить следующие действия, если вы пробовали все, что упоминалось в приведенных выше решениях:

  1. Создать файл в android / app / src / main / assets
  2. Выполните следующую команду:

пакет response-native --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

  1. Теперь запустите свою команду для сборки, например, для run-android с реакцией.

Я столкнулся с подобной проблемой. npx react-native init создает файл.gitignore, который игнорирует <project>/android/app/src/debugпапка. Если вы позже клонировали этот проект, эта папка отсутствовала бы. Решение простое. В будущем добавьте эту строку в конец файла.gitignore.

!android/app/src/debug

Для вашего текущего проекта попросите создателя проекта зафиксировать эту папку. Я столкнулся с этой ошибкой, когда реагировал на родную версию 0.63

  1. В моем случае я просто закрываю эмулятор формы приложения

  2. Затем запустите это снова

реагировать на запуск Android

Это происходит, когда устройство Android не может подключиться к серверу метро. Если описанное выше не работает, убедитесь, что на вашем устройстве Android не настроен прокси. (Настройки> Прокси-сервер> Без прокси).

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

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

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

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

netstat -aon | findstr 8081

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

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

реакция-нативный запуск-android --port=9001

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

Выполните следующие две команды

  1. adb kill-server
  2. adb start-server

После этого запускаем команду npm start за которой следует обычная зеленая кнопка запуска в Android Studio.

Проблема решена, по крайней мере для меня.

создайте network_security_config.xml:

      <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

используйте эту конфигурацию в манифесте приложения:

      <?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...>
        ...
    </application>
</manifest>

Сообщение об ошибке в эмуляторе вводит в заблуждение. В моем случае я использовал Macbook. Мне нужно было изменить разрешения на android/gradlew, запустив$ chmod 755 ./gradlew, а затем приложение может быть создано и развернуто в эмуляторе Android.

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

Вам нужно сделать этот порт доступным для запуска этого Сервера. Так,

  1. освободить порт
  2. закройте ваше виртуальное устройство
  3. "Реакция-родной запуск-андроид" снова.

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

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

Эта ошибка возникла для меня из ниоткуда, и для меня ее решило:

  1. Менеджер AVD в Android Studio
  2. Нажмите стрелку вниз в разделе Действия на вашем виртуальном устройстве.
  3. Стереть данные
  4. Перезапустить метро

Я попробовал все решения ниже, прокомментировал и ответил разными людьми. Иногда это работает, но иногда ни одно решение не работает для меня ..... лучшее решение для этой ошибки: удалите APK с физического устройства и снова запустите приложение ... его работа для меня 100% !!!

шаг 1-

Удалить APK с физического устройства

шаг 2-

Перейти в папку Android cd android

шаг 3-

Введите команду Gradlew Clean

шаг 4-

Входить Cd.. назад к проекту

шаг 4-

Команда Run npx react-native run-android ИЛИ ЖЕ react-native run-android

это работает для меня, дополнительно добавьте номер порта и запустите Android

      npx react-native run-android --port=8082 (maybe port number differs)

Я была такая же проблема. Но этот метод решил ее. Перейдите в папку Android с помощьюcd android тогда gradlew clean или ./gradlew clean в зависимости от того, что работает для вашей ОС.

Вы также можете понизить версию node js до версии менее 12 и удалить nodemodule, затем снова запустить npm install

В некоторых случаях вам может потребоваться закрыть порт встроенного сборщика React и повторно запустить приложение с помощью того же процесса

1.sudo kill -9 $(sudo lsof -t -i:9001)

2.npm start inside the project

3. react-native run-android

У меня такая же проблема, после выполнения следующих шагов проблема была решена

  1. Четкие часы сторожа: watchman watch-del-all.
  2. Удалите папку node_modules: rm -rf node_modules && npm install.
  3. Сбросить кеш Metro Bundler: rm -rf /tmp/metro-bundler-cache-*
  4. Удалить кеш-память: rm -rf /tmp/haste-map-react-native-packager-*

Если вы работаете в ОС Linux, возможно, ваш удаленный сервер npm не работает. Откройте другой терминал (с каталогом проекта) и запустите эту команду sudo npm start или sudo реагировать-нативный запуск перед выполнением sudo реагировать-нативный запуск-android

Ни одно из вышеперечисленных решений не помогло мне в ОС Ubuntu, я решил это, выполнив следующие команды по порядку, чтобы они запускались и смотрели на одном и том же порту:

  1. запуск npm --port=8081
  2. npm run-android --port=8081

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

Я сделал: start-native и npx react-native run-android.

Однако для Min19 (на основе Ubuntu) у меня была та же проблема, пока я не запустил:

echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

От:https://reactnative.dev/docs/troubleshooting

По крайней мере, у меня на мобильном телефоне работает приложение.

Я обнаружил, что в Windows «macmnsvc.exe» также работает через порт 8081.

поэтому вы можете изменить свой порт для приложения Android, запустив

      npm start -- --port=8088

в вашем корневом каталоге с помощью cmd

Я просто убедился, что мой телефон подключен к тому же интернет-адресу, что и мой ноутбук, и проблема была решена. Также перейдите в папку Android и запустите ./gradlew clean

      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

Это также может быть вызвано отключениемINTERNETразрешения в манифесте. У меня есть приложение, которое не требует/не использует Интернет, и я удалил его. Прошло некоторое время с тех пор, как я обновил это приложение и забыл о нем. Потратил около часа, пытаясь снова найти каждый ответ.

          this works for me on ubuntu
    
    1. if you are having node version 17 first downgrade its version:-
    You can use n for node's version management.
    
    this is very easy to use.
    $ npm install -g n
    
    then you can show your node version:
    $ node -v
    v16.13.2
    
    2. create an assets folder inside root of the project:-
    project\android\app\src\main\assets
    set folder name should be assets

3. now the final step implement the given code inside the project folder:- 

$cd project 
/project$ 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

4. after following all these step react-native was successfully running on my pc

Я столкнулся с этой проблемой в React Native v0.69 после переименования моего идентификатора пакета Android.

При переименовании /android/app/src/debug/java/old_package_nameв
/android/app/src/debug/java/new_package_name, я случайно переместил отладочную версиюAndroidManifest.xmlво вновь созданный путь.

После перемещения обратно в/android/app/src/debug/,yarn androidснова работал, не выполняя никаких других решений. Интересно, что эта ошибка вызвала эту ошибку, поэтому, если это произойдет с кем-то еще, убедитесь, что ваши файлы находятся там, где они должны быть.

Для чипа M1

Проверьте свой путь JAVA_HOME, в моем случае для чипа M1 я определил это как в .zprofile

      export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"

затем запустите source ~/.zprofile на терминале

Это сработало для меня после этого.

запустить команду: adb reverse tcp:8081 tcp:8081

Другие вопросы по тегам