Building for Android
Create an Android build using Expo Application Services (EAS).
Prerequisites
Configure EAS
In the mobile/ directory:
eas login
eas build:configure
This creates/updates eas.json with build profiles.
Build Profiles
The eas.json file defines build configurations:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
}
}
Creating a Build
APK (for direct installation)
cd mobile
eas build --platform android --profile preview
AAB (for Google Play)
cd mobile
eas build --platform android --profile production
Build Process
- EAS uploads your project to Expo's build servers
- The build runs in the cloud (~10-20 minutes)
- When complete, you'll get a download link
Installing the APK
Direct install
- Download the APK from the EAS build link
- Transfer to the Android device
- Enable Install from Unknown Sources in device settings
- Open and install the APK
Internal distribution
- Register device UDIDs with
eas device:create - Build with
--profile preview - Share the install link with testers
Google Play Store
First submission
- Create a Google Play Developer account ($25 one-time fee)
- Create a new app in Google Play Console
- Upload the AAB file
- Fill in store listing, screenshots, and privacy policy
- Submit for review
Subsequent updates
- Build a new AAB with incremented version
- Upload to Google Play Console
- Submit for review
Version Management
In mobile/app.json:
{
"expo": {
"version": "1.1.0",
"android": {
"versionCode": 2
}
}
}
version— User-facing version stringversionCode— Must increment for each Play Store upload