Сборка и EAS
EAS (Expo Application Services) — облачная сборка приложений. Не нужен Xcode или Android Studio.
Установка
npm install -g eas-cli
eas login
eas init
eas init создаёт проект в Expo и связывает с локальным.
eas.json
{
"cli": {
"version": ">= 5.0.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
},
"submit": {
"production": {}
}
}
Профили
- development — для разработки, dev client, hot reload
- preview — для тестирования внутри команды
- production — для публикации в сторах
Сборка
# Android APK для тестирования
eas build --platform android --profile preview
# iOS для TestFlight
eas build --platform ios --profile production
# Обе платформы
eas build --platform all --profile production
Сборка идёт в облаке. Ссылка на APK/IPA приходит в терминал.
Локальная сборка
eas build --local
Требует Xcode/Android Studio локально.
Подпись Android
eas credentials
EAS создаст keystore автоматически. Или загрузи свой.
Храни keystore и пароль — потеряешь доступ к обновлениям в Google Play.
Подпись iOS
EAS управляет сертификатами и provisioning profiles. Нужен Apple Developer аккаунт ($99/год).
Версии
В app.json:
{
"expo": {
"version": "1.0.0",
"ios": {
"buildNumber": "1"
},
"android": {
"versionCode": 1
}
}
}
autoIncrement в eas.json увеличивает номер автоматически.
Переменные окружения
В eas.json:
{
"build": {
"production": {
"env": {
"EXPO_PUBLIC_API_URL": "https://api.example.com"
}
}
}
}
Или через EAS Secrets для приватных:
eas secret:create --name API_KEY --value xxx
OTA-обновления
eas update --branch production --message "Fix bug"
Обновляет JS-бандл без публикации в сторах. Пользователи получают при следующем запуске.
Ограничения: только JS и ассеты. Нативные изменения требуют новой сборки.
Каналы
eas channel:create production
eas channel:edit production --branch production
Разные каналы для разных сборок.
App Store и Google Play
eas submit --platform ios
eas submit --platform android
Загружает сборку в стор. Дальше — ревью.
Итоги
eas-cliдля сборки в облакеeas.jsonс профилямиeas buildдля сборкиeas submitдля загрузки в сторeas updateдля OTA- Секреты через EAS Secrets