expo-dev-client installed.
Prerequisites
1
Install expo-dev-client
2
Configure your app
Ensure your
app.json has the required fields:app.json
Local Builds
Local builds are created on your development machine using native build tools.iOS Local Builds
Requires macOS with Xcode installed
Device Selection
The CLI will prompt you to select a device:Automatic Signing
For physical devices, ensure you have a development team configured:Android Local Builds
Requires Android Studio and Android SDK
Device Selection
Gradle Configuration
Customize the build inandroid/gradle.properties:
android/gradle.properties
Local Build Process
When you runnpx expo run:ios or npx expo run:android:
1
Prebuild (if needed)
If native directories don’t exist, runs
npx expo prebuild:2
Install dependencies
Installs native dependencies:
- iOS: Runs
pod install - Android: Syncs Gradle dependencies
3
Build native project
Invokes native build tools:
- iOS:
xcodebuildwith your scheme - Android:
./gradlewwith specified variant
4
Install and launch
Installs the app on the selected device and launches it.
Cloud Builds with EAS Build
EAS Build creates your app in the cloud - no Xcode or Android Studio required.Setup
1
Install EAS CLI
2
Configure EAS Build
eas.json:eas.json
Building
Build Profiles
Customize builds for different scenarios:Resource Classes
Choose the right machine size:eas.json
| Class | CPU | RAM | Build Time |
|---|---|---|---|
| medium | 4 cores | 8 GB | ~10-15 min |
| large | 8 cores | 16 GB | ~5-8 min |
Environment Variables
Pass secrets to builds:eas.json
Configuration
Build Properties
Customize native build settings withexpo-build-properties:
app.json
Custom Plugins
Modify native projects with config plugins:app.json
Managing Builds
Build Cache
Speed up builds by caching dependencies:eas.json
Clean Builds
Force a clean build when needed:Viewing Builds
Troubleshooting
iOS Build Fails: Signing Issues
Android Build Fails: Out of Memory
eas.json
Local Build: Command Not Found
Slow Builds
Improve build times:- Use larger resource class (EAS Build)
- Enable caching
- Minimize dependencies
- Use Hermes engine:
app.json
Next Steps
Install on Devices
Install your development build on physical devices
Start Developing
Learn how to debug your app
Build Properties
Customize native build settings
Prebuild
Understand the prebuild workflow