Перейти к содержанию

Запуск на устройстве

Всегда полезно протестировать свое приложение на реальном устройстве, прежде чем выпускать его для пользователей. Этот документ проведет вас через необходимые шаги для запуска вашего приложения React Native на устройстве и подготовки его к производству.

Если вы использовали create-expo-app для создания проекта, вы можете запустить свое приложение на устройстве в Expo Go, отсканировав QR-код, который отображается при запуске npm start. Более подробную информацию см. в руководстве Expo Go запуск проекта на устройстве.

Запуск вашего приложения на устройствах Android

Development OS

1. Включите отладку по USB

Большинство устройств Android по умолчанию могут устанавливать и запускать только приложения, загруженные из Google Play. Вам нужно будет включить отладку по USB на вашем устройстве, чтобы установить ваше приложение во время разработки.

Чтобы включить отладку по USB на вашем устройстве, сначала вам нужно включить меню "Параметры разработчика", перейдя в НастройкиО телефонеИнформация о программном обеспечении, а затем семь раз коснуться строки Номер сборки внизу. Затем вы можете вернуться в НастройкиОпции разработчика, чтобы включить "Отладку USB".

2. Подключите устройство через USB

Теперь давайте настроим устройство Android для запуска наших проектов React Native. Подключите устройство через USB к вашей машине разработки.

Теперь проверьте, что устройство правильно подключено к ADB, отладочному мосту Android, запустив adb devices.

1
2
3
4
$ adb devices
List of devices attached
emulator-5554 offline   # Google emulator
14ed2fcc device         # Physical device

Если вы видите device в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.

Если в списке вы видите unauthorized, вам нужно запустить adb reverse tcp:8081 tcp:8081 и нажать кнопку enable USB debugging on the device.

3. Запустите ваше приложение

Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:

1
$ npx react-native run-android

Если вы получаете ошибку "конфигурация моста недоступна", смотрите Использование adb reverse.

Подсказка: Вы также можете использовать React Native CLI для генерации и запуска Release сборки (например, npx react-native run-android --mode=release).

Подключение к серверу разработки

Вы также можете быстро выполнить итерации на устройстве, подключившись к серверу разработки, запущенному на вашей машине разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или Wi-Fi сети.

Способ 1: Использование adb reverse (рекомендуется).

Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, у него включена отладка по USB, и оно подключено через USB к вашей машине разработки.

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

1
$ adb -s <device name> reverse tcp:8081 tcp:8081

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

1
$ adb devices

Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда изменится код JavaScript.

Способ 2: Подключение через Wi-Fi

Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам потребуется установить приложение на ваше устройство с помощью USB-кабеля, но после этого вы сможете выполнять отладку по беспроводной сети, следуя следующим инструкциям. Перед началом работы вам понадобится текущий IP-адрес вашей машины разработки.

Вы можете найти IP-адрес в Системные настройки (или Системные предпочтения)Сеть.

  1. Убедитесь, что ноутбук и телефон находятся в одной и той же сети Wi-Fi.
  2. Откройте приложение React Native на устройстве.
  3. Вы увидите красный экран с ошибкой. Это нормально. Следующие шаги исправят это.
  4. Откройте внутреннее меню приложения Dev Menu.
  5. Перейдите в Настройки устройстваХост и порт сервера отладки для устройства.
  6. Введите IP-адрес вашей машины и порт локального сервера отладки (например, 10.0.1.1:8081).
  7. Вернитесь в меню Dev Menu и выберите Reload JS.

Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда код JavaScript изменится.

Создание приложения для производства

Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Процесс такой же, как и для любого другого нативного приложения для Android, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по [созданию подписанного APK] (signed-apk-android.md).

1. Включите отладку через USB

Большинство устройств Android по умолчанию могут устанавливать и запускать только приложения, загруженные из Google Play. Вам нужно будет включить отладку по USB на вашем устройстве, чтобы установить ваше приложение во время разработки.

Чтобы включить отладку по USB на вашем устройстве, сначала вам нужно включить меню "Параметры разработчика", перейдя в НастройкиО телефонеИнформация о программном обеспечении, а затем семь раз коснуться строки Номер сборки внизу. Затем вы можете вернуться в НастройкиОпции разработчика, чтобы включить "Отладку USB".

2. Подключите устройство через USB

Теперь давайте настроим Android-устройство для запуска наших проектов React Native. Подключите устройство через USB к вашей машине разработки.

Теперь проверьте, что устройство правильно подключено к ADB, отладочному мосту Android, запустив adb devices.

1
2
3
4
$ adb devices
List of devices attached
emulator-5554 offline   # Google emulator
14ed2fcc device         # Physical device

Если вы видите device в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.

3. Запустите ваше приложение

Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:

1
$ npx react-native run-android

Подсказка: Вы также можете использовать React Native CLI для генерации и запуска Release сборки (например, npx react-native run-android --mode=release).

Подключение к серверу разработки

Вы также можете быстро выполнить итерации на устройстве, подключившись к серверу разработки, запущенному на вашей машине разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или Wi-Fi сети.

Способ 1: Использование adb reverse (рекомендуется).

Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, у него включена отладка по USB, и оно подключено через USB к вашей машине разработки.

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

1
$ adb -s <device name> reverse tcp:8081 tcp:8081

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

1
$ adb devices

Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться каждый раз, когда изменится код JavaScript.

Способ 2: Подключение через Wi-Fi

Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам потребуется установить приложение на ваше устройство с помощью USB-кабеля, но после этого вы сможете выполнять отладку по беспроводной сети, следуя следующим инструкциям. Перед началом работы вам понадобится текущий IP-адрес вашей машины разработки.

Откройте командную строку и введите ipconfig, чтобы узнать IP-адрес вашей машины (подробнее).

  1. Убедитесь, что ноутбук и телефон находятся в одной и той же сети Wi-Fi.
  2. Откройте приложение React Native на своем устройстве.
  3. Вы увидите красный экран с ошибкой. Это нормально. Следующие шаги исправят это.
  4. Откройте внутреннее меню приложения Dev Menu.
  5. Перейдите в Настройки устройстваХост и порт сервера отладки для устройства.
  6. Введите IP-адрес вашей машины и порт локального сервера отладки (например, 10.0.1.1:8081).
  7. Вернитесь в меню Dev Menu и выберите Reload JS.

Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда код JavaScript изменится.

Создание приложения для производства

Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Процесс такой же, как и для любого другого нативного приложения для Android, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по созданию подписанного APK.

1. Включите отладку через USB

Большинство устройств Android по умолчанию могут устанавливать и запускать только приложения, загруженные из Google Play. Вам нужно будет включить отладку по USB на вашем устройстве, чтобы установить ваше приложение во время разработки.

Чтобы включить отладку по USB на вашем устройстве, сначала вам нужно включить меню "Параметры разработчика", перейдя в НастройкиО телефонеИнформация о программном обеспечении, а затем семь раз коснуться строки Номер сборки внизу. Затем вы можете вернуться в НастройкиОпции разработчика, чтобы включить "Отладку USB".

2. Подключите устройство через USB

Теперь давайте настроим Android-устройство для запуска наших проектов React Native. Подключите устройство через USB к вашей машине разработки.

Затем проверьте код производителя с помощью lsusb (на mac необходимо сначала установить lsusb). lsusb должен вывести примерно следующее:

1
2
3
4
5
6
7
8
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 22b8:2e76 Motorola PCS
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Эти линии представляют USB-устройства, подключенные в данный момент к вашему аппарату.

Вам нужна та строка, которая представляет ваш телефон. Если вы сомневаетесь, попробуйте отключить телефон от сети и запустить команду снова:

1
2
3
4
5
6
7
$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Вы увидите, что после удаления телефона строка с моделью телефона ("Motorola PCS" в данном случае) исчезла из списка. Это та строка, которая нас интересует.

Bus 001 Device 003: ID 22b8:2e76 Motorola PCS.

Из приведенной выше строки нужно взять первые четыре цифры из ID устройства:

22b8:2e76.

В данном случае это 22b8. Это идентификатор Motorola.

Вам нужно будет ввести это в правила udev, чтобы начать работу:

1
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/51-android-usb.rules

Убедитесь, что вы заменили 22b8 на идентификатор, полученный в приведенной выше команде.

Теперь проверьте, что ваше устройство правильно подключается к ADB, отладочному мосту Android, запустив adb devices.

1
2
3
4
$ adb devices
List of devices attached
emulator-5554 offline   # Google emulator
14ed2fcc device         # Physical device

Если вы видите device в правой колонке, это означает, что устройство подключено. Одновременно должно быть подключено только одно устройство.

3. Запустите ваше приложение

Введите следующее в командной строке, чтобы установить и запустить ваше приложение на устройстве:

1
$ npx react-native run-android

Если вы получаете ошибку "конфигурация моста недоступна", смотрите Использование adb reverse.

Подсказка: Вы также можете использовать React Native CLI для генерации и запуска Release сборки (например, npx react-native run-android --mode=release).

Подключение к серверу разработки

Вы также можете быстро выполнить итерации на устройстве, подключившись к серверу разработки, запущенному на вашей машине разработки. Это можно сделать несколькими способами, в зависимости от того, есть ли у вас доступ к USB-кабелю или Wi-Fi сети.

Способ 1: Использование adb reverse (рекомендуется)

Вы можете использовать этот метод, если ваше устройство работает под управлением Android 5.0 (Lollipop) или новее, у него включена отладка по USB, и оно подключено через USB к вашей машине разработки.

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

1
$ adb -s <device name> reverse tcp:8081 tcp:8081

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

1
$ adb devices

Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться каждый раз, когда изменится код JavaScript.

Способ 2: Подключение через Wi-Fi

Вы также можете подключиться к серверу разработки через Wi-Fi. Сначала вам потребуется установить приложение на ваше устройство с помощью USB-кабеля, но после этого вы сможете выполнять отладку по беспроводной сети, следуя следующим инструкциям. Перед началом работы вам понадобится текущий IP-адрес вашей машины разработки.

Откройте терминал и введите /sbin/ifconfig, чтобы узнать IP-адрес вашей машины.

  1. Убедитесь, что ноутбук и телефон находятся в одной и той же сети Wi-Fi.
  2. Откройте приложение React Native на своем устройстве.
  3. Вы увидите красный экран с ошибкой. Это нормально. Следующие шаги исправят это.
  4. Откройте внутреннее меню приложения Dev Menu.
  5. Перейдите в Настройки устройстваХост и порт сервера отладки для устройства.
  6. Введите IP-адрес вашей машины и порт локального сервера отладки (например, 10.0.1.1:8081).
  7. Вернитесь в меню Dev Menu и выберите Reload JS.

Теперь вы можете включить живую перезагрузку из Dev Menu. Ваше приложение будет перезагружаться всякий раз, когда изменится код JavaScript.

Создание приложения для производства

Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в Play Store. Процесс такой же, как и для любого другого нативного приложения для Android, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по созданию подписанного APK.

Запуск вашего приложения на устройствах iOS

Development OS

1. Подключите устройство через USB

Подключите устройство iOS к Mac с помощью кабеля USB — Lightning. Перейдите в папку ios в вашем проекте, затем откройте файл .xcodeproj, или, если вы используете CocoaPods, откройте .xcworkspace, внутри него с помощью Xcode.

Если вы впервые запускаете приложение на устройстве iOS, вам может потребоваться зарегистрировать устройство для разработки. Откройте меню Продукт в меню Xcode, затем перейдите в раздел Назначение. Найдите и выберите свое устройство в списке. Xcode зарегистрирует ваше устройство для разработки.

2. Настройка подписи кода

Зарегистрируйтесь в Apple developer account, если у вас его еще нет.

Выберите ваш проект в Навигаторе проектов Xcode, затем выберите вашу основную цель (она должна иметь то же имя, что и ваш проект). Найдите вкладку "Общие". Перейдите в раздел "Подписание" и убедитесь, что в выпадающем списке "Команда" выбран ваш аккаунт разработчика Apple или команда. Сделайте то же самое для цели tests (она заканчивается на Tests и находится ниже вашей основной цели).

Повторите этот шаг для цели Tests в вашем проекте.

RunningOnDeviceCodeSigning

3. Сборка и запуск приложения

Если все настроено правильно, ваше устройство будет указано как цель сборки на панели инструментов Xcode, а также появится в панели Devices (⇧⌘2). Теперь вы можете нажать кнопку Build and run (⌘R) или выбрать Run из меню Product. Вскоре ваше приложение будет запущено на вашем устройстве.

RunningOnDeviceReady

Если у вас возникнут проблемы, пожалуйста, посмотрите документацию Apple Launching Your App on a Device.

Подключение к серверу разработки

Вы также можете быстро выполнять итерации на устройстве, используя сервер разработки. Для этого достаточно находиться в той же сети Wi-Fi, что и компьютер. Встряхните устройство, чтобы открыть Dev Menu, затем включите Live Reload. Ваше приложение будет перезагружаться при каждом изменении кода JavaScript.

DevMenu

Устранение неполадок

Если у вас возникли проблемы, убедитесь, что ваш Mac и устройство находятся в одной сети и могут связаться друг с другом. Многие открытые беспроводные сети с неавторизованными порталами настроены таким образом, что устройства не могут связаться с другими устройствами в сети. В этом случае вы можете воспользоваться функцией Personal Hotspot вашего устройства. Вы также можете передать подключение к Интернету (Wi-Fi/Ethernet) с вашего Mac на ваше устройство через USB и подключиться к бандлеру через этот туннель для очень высокой скорости передачи данных.

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

Connection to http://localhost:8081/debugger-proxy?role=client timed out. Вы используете прокси-сервер узла? Если вы работаете на устройстве, проверьте, правильно ли вы указали IP-адрес в RCTWebSocketExecutor.m.

Для решения этой проблемы проверьте следующие пункты.

1. Сеть Wi-Fi.

Убедитесь, что ваш ноутбук и ваш телефон находятся в одной и той же сети Wi-Fi.

2. IP-адрес

Убедитесь, что скрипт сборки правильно определил IP-адрес вашей машины (например, 10.0.1.123).

XcodeBuildIP

Откройте вкладку Report navigator, выберите последний Build и найдите IP=, за которым следует IP-адрес. IP-адрес, который будет встроен в приложение, должен совпадать с IP-адресом вашей машины.

Сборка приложения для производства

Вы создали отличное приложение с помощью React Native, и теперь вам не терпится выпустить его в App Store. Процесс такой же, как и для любого другого нативного приложения для iOS, с некоторыми дополнительными соображениями, которые необходимо принять во внимание. Чтобы узнать больше, следуйте руководству по [публикации в Apple App Store] (publish-to-app-store.md).

Для создания приложения для устройств iOS требуется компьютер Mac. Также вы можете обратиться к нашему руководству environment setup guide, чтобы узнать, как создать приложение с помощью Expo CLI, который позволит вам запустить ваше приложение с помощью клиентского приложения Expo.

Для создания приложения для устройств iOS требуется компьютер Mac. Также вы можете обратиться к нашему руководству environment setup guide, чтобы узнать, как создать приложение с помощью Expo CLI, который позволит вам запустить приложение с помощью клиентского приложения Expo.

Комментарии