логотип PurpleSchool
логотип PurpleSchool

Запуск приложения React Native на устройстве или эмуляторе

Автор

Олег Марков

Введение

Запуск приложения React Native на устройстве или эмуляторе — обязательный этап для каждого мобильного разработчика. Это позволяет вам быстро видеть результат изменений и тестировать функционал, не дожидаясь размещения в App Store или Google Play. Множество разработчиков сталкиваются с вопросами: как правильно настроить среду, какие инструменты использовать, что выбрать — эмулятор или реальное устройство и что делать при появлении ошибок запуска.

Здесь я расскажу, как с нуля развернуть приложение React Native на вашем устройстве или эмуляторе для Android и iOS. Вы получите понятные инструкции, выдержки из кода, а также узнаете нюансы, которые часто упускаются в официальной документации. Также рассмотрим варианты настройки эмуляторов, основные команды CLI, распространённые проблемы и способы их решения.

Настройка среды разработки для React Native

Запуск приложения невозможен без правильной установки необходимых инструментов. Давайте разберём, что вам понадобится и как всё это связать.

1. Node.js и npm/yarn

React Native использует Node.js для разработки. Скачайте Node.js с официального сайта; npm устанавливается вместе с ним. Альтернативный менеджер пакетных зависимостей — Yarn.

Проверьте установку: bash node -v # Проверяет версию Node.js npm -v # Узнаёт версию npm yarn -v # Если используете yarn

2. Expo CLI или React Native CLI

Если вы только начинаете, Expo — лучший вариант: здесь меньше настроек и нет необходимости сразу вникать во внутренности сборки. Для продвинутого контроля используется React Native CLI.

Установка Expo: bash npm install -g expo-cli # Установит Expo CLI глобально

Установка React Native CLI (для Bare Workflow): bash npm install -g react-native-cli # Команда для Bare React Native

3. Android Studio и/или Xcode

Android:

  • Установите Android Studio
  • Обязательно установите Android SDK и Android Virtual Device (AVD) — эмулятор.

iOS:

  • Для macOS: поставьте Xcode из Mac App Store. iOS Simulator поставляется вместе с Xcode.

4. Настройки переменных среды

Для Android пропишите пути к sdk. Например, в .bash_profile или .zshrc: bash export ANDROID_HOME=$HOME/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/emulator export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/platform-tools После изменений перезапустите терминал.

Запуск React Native приложения на устройстве или эмуляторе — важный шаг в процессе разработки. Он позволяет проверить работу приложения в реальных условиях и выявить возможные проблемы. Для успешного запуска необходимо правильно настроить окружение, подключить устройство или эмулятор и запустить приложение с помощью React Native CLI или Expo. Если вы хотите детальнее погрузиться в запуск приложения на устройстве или эмуляторе и другие аспекты разработки React Native, — приходите на наш большой курс React Native и Expo Router. На курсе 184 уроков и 11 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.

Запуск приложения на эмуляторе Android

Давайте разберём запуск с помощью эмулятора из Android Studio.

1. Создание проекта

Создайте новый проект: ```bash npx react-native init MyApp # Обычный проект React Native

или

expo init MyApp # Если используете Expo ```

Перейдите в папку проекта: bash cd MyApp

2. Запуск Android эмулятора

Откройте Android Studio > Tools > Device Manager. Создайте и запустите эмулятор с актуальной версией Android.

Запустите эмулятор через терминал (если хотите автоматизировать): bash emulator -avd <Имя_устройства>

3. Запуск приложения на эмуляторе

Для React Native CLI: bash npx react-native run-android

  • Эта команда соберёт приложение и установит его на выбранный эмулятор (или подключённое устройство, если оно есть).
  • Metro Bundler (сервер React Native) запустится автоматически для быстрой перезагрузки приложений.

Для Expo: bash npx expo start

  • Вы увидите QR-код и выбор опций в интерфейсе Packager.
  • В Expo DevTools можно выбрать запуск на эмуляторе (Android emulator):
    • Нажмите «Run on Android device/emulator».

Советы и решения проблем

  • Если команда run-android не находит эмулятор, убедитесь, что AVD запущен и переменные среды android прописаны верно.
  • Иногда помогает перезапуск сервера Metro: bash npx react-native start --reset-cache
  • Убедитесь, что порт 8081 (по умолчанию) не занят другими процессами.

Запуск приложения на эмуляторе iOS

Работа с iOS-технологиями требует Mac и установленного Xcode.

1. Проверка установки

  • Запустите Xcode, согласитесь с лицензией и установите доп.пакеты из Preferences > Components.
  • Откройте терминал и проверьте: bash xcode-select -p # Показывает корневую директорию Xcode xcrun simctl list # Список доступных симуляторов

2. Запуск симулятора

Запустить симулятор происходит автоматически при запуске приложения, но иногда его нужно запустить вручную: bash open -a Simulator

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

React Native CLI: bash npx react-native run-ios

  • Если хотите запустить на определённом симуляторе: bash npx react-native run-ios --simulator="iPhone 14"

Expo: bash npx expo start

  • Откройте Expo DevTools, выберите «Run on iOS simulator».

Полезные мелочи

  • Иногда необходимо почистить старый билд: bash cd ios xcodebuild clean cd ..
  • Если при запуске возникает ошибка об отстутствии разрешения, откройте проект в Xcode и вручную соберите его (Cmd+B).
  • Для дебага используйте React Native Debugger или Chrome DevTools (интегрировано уже в CLI/Expo).

Запуск приложения на физическом устройстве Android

Запуск на реальном устройстве даёт больше информации о поведении приложения, чем эмулятор.

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

  • На устройстве найдите «О телефоне», тапните 7 раз по сборке — откроется режим разработчика.
  • Включите «Отладка по USB».
  • Подключите смартфон к компьютеру через кабель.

2. Проверьте подключение

adb devices
  • Должно появиться устройство с состоянием «device».
  • Если система спрашивает разрешение — подтвердите его на экране телефона.

3. Запуск приложения

Как и с эмулятором: bash npx react-native run-android

4. Expo на устройстве

  • Установите приложение Expo Go из Google Play.
  • Введите npx expo start на компьютере — появится QR-код.
  • Откройте Expo Go на смартфоне, просканируйте QR-код — приложение загрузится.

Советы

  • Иногда помогает перезапустить adb: bash adb kill-server adb start-server
  • Проверьте, что используете качественный USB-кабель и выбрали режим передачи данных.

Запуск приложения на физическом устройстве iOS

Для этого вам потребуется Mac и Apple-аккаунт.

1. Настройка устройства

  • Подключите iPhone/iPad к компьютеру.
  • Откройте Xcode, выберите своё устройство как цель (Target).
  • Если подключаете новый iPhone, подтвердите доверие к этому компьютеру.

2. Сборка через Xcode

  • В React Native CLI: откройте папку ios в Xcode (MyProject/ios/MyProject.xcworkspace).
  • Выберите нужный таргет (устройство).
  • Нажмите кнопку Run (Cmd+R).
  • Если первый раз компилируете — Xcode потребует разрешить использование Developer Team.

3. Запуск через Expo

  • Установите Expo Go через App Store.
  • Запустите npx expo start, просканируйте QR-код прямо с iPhone через Expo Go.

Нюансы

  • Для загрузки собственного приложения на устройство Apple требует аккаунт разработчика. Учётки Free Account хватает для теста, но потребуется несколько дополнительных шагов с профилями и сертификатами; если возникают ошибки с provisioning profile — следуйте подсказкам Xcode.
  • Дебажьте через Safari (открыть меню Develop > Simulator/device > Web Inspector).

Горячая перезагрузка и Live Reload

Во время разработки вы оцените возможности горячей перезагрузки (Hot Reload) и живой перезагрузки (Live Reload):

  • Hot Reload — обновляет только измененные модули, не перезапуская всё приложение.
  • Live Reload — полностью перезапускает приложение при сохранении любых файлов.

Выберите нужный режим через «Dev Menu». На эмуляторе вызовите Dev Menu:

  • На Android: Ctrl+M или провестите тремя пальцами вниз
  • На iOS: Cmd+D или тройной тап тремя пальцами

В Expo меню вызывается длинным нажатием на экран или специальной командой через DevTools.

Распространённые проблемы и их решение

1. Приложение не видит эмулятор/устройство

  • Проверьте, что переменные среды прописаны верно.
  • Перезапустите adb: bash adb kill-server adb start-server
  • Перезапустите эмулятор или физическое устройство.

2. Metro Bundler не запускается/зависает

  • Остановите процесс (Ctrl+C), почистите кэш: bash npx react-native start --reset-cache
  • После этого попробуйте снова запустить команду.

3. Код не компилируется для iOS

  • Проверьте, что все зависимости установлены (в директории ios): bash pod install
  • Убедитесь, что используете совместимую версию Xcode.

4. Ошибки при работе с Expo

  • Убедитесь, что Expo Go имеет последнюю версию.
  • Если видите ошибку несовместимости, пересоздайте проект свежими версиями Expo.

5. Port already in use

  • Проверьте, не запущен ли другой сервер на 8081: bash lsof -i :8081 kill -9 <PID>
  • После освобождения порта — повторите попытку запуска Metro.

Заключение

Вы ознакомились с базовыми и продвинутыми способами запуска React Native приложения на эмуляторах и реальных устройствах для обеих платформ — Android и iOS. Мы рассмотрели предварительную настройку среды, ключевые команды, особенности работы с Expo и React Native CLI, а также решения типичных проблем, с которыми сталкиваются разработчики. Теперь вы сможете запускать, тестировать и отлаживать свои мобильные приложения быстрее и увереннее.

Запуск на реальном устройстве это важный шаг, но не стоит забывать и про другие важные этапы разработки. Для разработки полноценного приложения необходимо также уметь управлять состоянием, обеспечивать навигацию и работать с API. На нашем курсе React Native и Expo Router вы найдете все необходимые знания для создания профессиональных React Native приложений. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир React Native прямо сегодня.

Частозадаваемые технические вопросы по теме статьи и ответы на них

Как подключить устройство Android, если оно не отображается в списке adb devices?

  • Проверьте, что включили «Отладку по USB» в настройках разработчика на телефоне.
  • Используйте оригинальный USB-кабель и откройте раздел разработчика — иногда появляется окно подтверждения.
  • Установите драйверы для вашего устройства (особенно для Windows).
  • Выполните: bash adb kill-server adb start-server
  • Если проблема осталась — переподключите устройство и повторите команду.

Как установить приложение на устройство Android без использования команды run-android?

  • Соберите APK: bash cd android ./gradlew assembleDebug APK появится в android/app/build/outputs/apk/debug/app-debug.apk.
  • Установите: bash adb install android/app/build/outputs/apk/debug/app-debug.apk

Почему Expo Go не подключается к локальному серверу?

  • Убедитесь, что телефон и компьютер в одной Wi-Fi сети.
  • Проверьте настройки фаервола/антивируса — они могут блокировать соединение.
  • Попробуйте использовать LAN или Tunnel в Expo DevTools.
  • Иногда подключение работает только через режим Tunnel из Expo (npx expo start --tunnel).

Как эмулировать определённую версию Android или iOS для теста?

  • В Android Studio создайте новый AVD с нужной версией ОС и архитектурой (Tools > Device Manager).
  • Для iOS выберите нужное устройство/версию в Simulator (Hardware > Device) или через параметр CLI: bash npx react-native run-ios --simulator="iPhone 8"

Что делать, если сборка iOS требует Developer Team и выдаёт ошибку "No valid provisioning profile"?

  • Откройте проект в Xcode, зайдите в настройки таргета.
  • В разделе Signing & Capabilities выберите свою учётную запись Apple ID или добавьте её.
  • Если используете Free Account, выберите Automatic Signing. Xcode сам создаст профиль.
Гайд по структуре React Native проектовСтрелочка вправо

Постройте личный план изучения React-native до уровня Middle — бесплатно!

React-native — часть карты развития Mobile

  • step100+ шагов развития
  • lessons30 бесплатных лекций
  • lessons300 бонусных рублей на счет

Бесплатные лекции

Все гайды по React-native

Работа со ScrollView в React NativeРабота с видео в React NativeКак реализовать аудиоплеер на React NativeНастройка и использование input и textinput в React NativeИнтеграция видео плеера в приложение на React NativeИспользование выпадающих списков в React NativeСоздание и настройка native module на React NativeКак создать модальные окна в React NativeРабота с изображениями в React NativeОтображение списков данных в React NativeГайд по файловой системе в React NativeИнтеграция камеры в приложение на React NativeСоздание интерактивных кнопок в React Native
Как использовать векторные иконки в React Native5 популярных библиотек UI компонентов React NativeСоздание и использование tabs в React NativeРуководство по стилизации компонентов в React NativeОптимизация переходов между экранами в React NativeАдаптация safe area context на React NativeОбзор библиотек для навигации в React NativeСоздание сложных анимаций (reanimated) на React NativeИспользование библиотеки стилей Paper в React NativeРуководство по navigation в React NativeОптимизация отображения списков в React NativeКак реализовать linking на React NativeГайд по UI-китам для React NativeГде искать elements для приложения на React NativeРабота с цветами в React Native
Открыть базу знаний

Лучшие курсы по теме

изображение курса

React Native и Expo Router

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Основы JavaScript

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

TypeScript с нуля

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее

Отправить комментарий