Олег Марков
Запуск приложения 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 до уровня Middle — бесплатно!
React-native — часть карты развития Mobile
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по React-native
Лучшие курсы по теме

React Native и Expo Router
Антон Ларичев
Основы JavaScript
Антон Ларичев