Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Сборка и публикация с EAS

Expo Go подходит для разработки, но пользователям нужно настоящее приложение со своей иконкой — файл для установки. EAS (Expo Application Services) — облачный сервис Expo, который собирает такие файлы на своих серверах. Mac с Xcode и Android Studio для этого не нужны.

Подготовка

Установите консольную утилиту EAS и войдите в бесплатный аккаунт Expo (его создают на сайте expo.dev):

npm install -g eas-cli
eas login
eas build:configure

Последняя команда привяжет проект к аккаунту и создаст в корне файл eas.json с профилями сборки.

Профили сборки

{
  "build": {
    "development": { "developmentClient": true, "distribution": "internal" },
    "preview": { "distribution": "internal", "android": { "buildType": "apk" } },
    "production": { "autoIncrement": true }
  }
}
ПрофильДля чего
developmentСвоя версия Expo Go с вашими родными модулями
previewУстановка на телефоны тестировщиков, файл APK для Android
productionФайл для отправки в магазин

Строку "buildType": "apk" добавьте в preview сами — файл APK можно установить на Android напрямую.

Первая сборка

eas build --platform android --profile preview

Код отправится на серверы Expo, а сборка займёт 10–20 минут. В конце терминал покажет ссылку и QR-код. Откройте её на Android-телефоне, скачайте и установите приложение — на рабочем столе появится «Блог» с вашей иконкой и заставкой. Для iOS сборку на устройства можно ставить только с платным аккаунтом Apple Developer.

Публикация в магазины

eas build --platform all --profile production
eas submit --platform android
eas submit --platform ios

Первая команда собирает файлы для обоих магазинов, eas submit отправляет их в Google Play и App Store. Понадобятся аккаунты разработчика: Google Play — разовый взнос $25, Apple Developer Program — $99 в год. Затем приложение проходит проверку магазина.

Обновления без магазина

Если изменился только JavaScript-код, новую версию можно доставить без повторной проверки — через EAS Update:

npx expo install expo-updates
eas update:configure
eas update --channel production --message "Исправлен список статей"

Команда eas update:configure подключает обновления к проекту; после неё один раз пересоберите приложение. Дальше при следующем запуске приложение само скачает обновлённый код. Изменения в app.json и новые родные модули так не доставить — для них нужна новая сборка.

Частая ошибка

Ставить в проект библиотеку с родным кодом, которой нет в Expo Go, и запускать её в Expo Go. Приложение упадёт с ошибкой о том, что родной модуль не найден. Для таких библиотек соберите development-сборку командой eas build --profile development и запускайте проект в ней, а не в Expo Go.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.