Skip to main content

Building for Android

Create an Android build using Expo Application Services (EAS).

Prerequisites​

  • Node.js 18+
  • Expo account — Sign up at expo.dev
  • EAS CLI installed: npm install -g eas-cli

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​

  1. EAS uploads your project to Expo's build servers
  2. The build runs in the cloud (~10-20 minutes)
  3. When complete, you'll get a download link

Installing the APK​

Direct install​

  1. Download the APK from the EAS build link
  2. Transfer to the Android device
  3. Enable Install from Unknown Sources in device settings
  4. Open and install the APK

Internal distribution​

  1. Register device UDIDs with eas device:create
  2. Build with --profile preview
  3. Share the install link with testers

Google Play Store​

First submission​

  1. Create a Google Play Developer account ($25 one-time fee)
  2. Create a new app in Google Play Console
  3. Upload the AAB file
  4. Fill in store listing, screenshots, and privacy policy
  5. Submit for review

Subsequent updates​

  1. Build a new AAB with incremented version
  2. Upload to Google Play Console
  3. Submit for review

Version Management​

In mobile/app.json:

{
"expo": {
"version": "1.1.0",
"android": {
"versionCode": 2
}
}
}
  • version — User-facing version string
  • versionCode — Must increment for each Play Store upload