Documentation Index
Fetch the complete documentation index at: https://docs.mobile-starter.amisi.ai/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Expo account (sign up)
- EAS CLI installed globally
- Completed App Identity configuration
Install EAS CLI
Install the EAS CLI globally:Login to EAS
Authenticate with your Expo account:Initialize EAS Project
Navigate to the mobile app directory and initialize EAS:- Create a new EAS project or link to an existing one
- Choose a project name (or use the default from
app.json)
- Create an EAS project in your Expo account
- Add the project ID to
app.jsonunderextra.eas.projectId
Understanding Build Profiles
The starter includes three pre-configured build profiles inapps/mobile/eas.json:
Development Profile
For internal testing with development builds:- Includes development client for debugging
- Internal distribution (not for app stores)
- Uses development environment variables
Preview Profile
For testing builds before production:- Internal distribution
- iOS simulator builds for testing
- Android APK for easy distribution
- Uses preview environment variables
Production Profile
For app store releases:- Android App Bundle (AAB) for Play Store
- Production environment variables
- Optimized for store submission
Building with EAS
The starter includes Nx-integrated build commands for convenience.Development Build
Build a development client:Preview Build
Build a preview version:Production Build
Build for app stores:Platform-Specific Builds
Build for a specific platform:Submitting to App Stores
After building with the production profile, submit to stores:- Select the build to submit
- Provide App Store Connect / Google Play credentials
- Configure submission settings
Environment Variables in EAS
EAS supports environment variables in builds through multiple methods:1. Build Profile Environment Variables
Define ineas.json:
2. EAS Secrets
For sensitive values, use EAS Secrets:3. .env Files
Local.env files are not included in EAS builds by default. Use EAS Secrets instead.
Build Configuration
iOS Specific
For iOS builds, you may need to configure: App Store Connect API Key (recommended):- Provisioning profiles
- Distribution certificates
Android Specific
For Android builds, configure: Keystore (for signing):Monitoring Builds
View Build Status
Check build progress:Build Logs
View detailed logs:Common Build Commands
EAS Update (OTA Updates)
Configure over-the-air updates for quick fixes:1. Configure Update Channel
Ineas.json, add update channels:
2. Publish an Update
3. View Updates
Troubleshooting
Build Fails with Missing Dependencies
Ensureeas-build-post-install script runs correctly. Check apps/mobile/package.json:
iOS Signing Issues
Run credentials configuration:Android Build Fails
Check that your package name is unique and valid:- No uppercase letters
- Reverse domain notation
- Matches
app.jsonconfiguration
Environment Variables Not Available
Ensure variables are:- Defined in
eas.jsonenv block, OR - Created as EAS Secrets, OR
- Have
EXPO_PUBLIC_prefix for client-side access
Best Practices
- Use EAS Secrets for sensitive values (API keys, tokens)
- Test preview builds before production releases
- Version your builds consistently
- Monitor build logs for warnings
- Use channels for staged rollouts with EAS Update
- Automate submissions with CI/CD pipelines