Thuta Learning
AdvancedMobile Developmentintermediate

Building & Publishing (EAS Build)

Relax. We'll talk through this in plain words — no textbook voice.

What you'll walk away with

  • Understand Building & Publishing (EAS Build) without the intimidation factor
  • Write the code yourself and run it on Expo Go
  • Apply this concept immediately in a real app project

Let's think about it this way for a second

EAS (Expo Application Services) Build is a cloud-based build service that produces a standalone app file (.apk/.aab for Android, .ipa for iOS) without needing Xcode/Android Studio set up on your local machine. Configure the app name, icon, version, and bundle identifier in app.json, and start the build process with the eas build --platform android (or --platform ios) command — once the build finishes, you get a download link.

Let's connect this to a real-world scenario

To publish to the Play Store (Android) you need a Google Play Console account ($25 one-time fee), and for the App Store (iOS) you need an Apple Developer Program account ($99/year) — these are app-store-specific requirements, a business/administrative step separate from your coding skill. You'll also need to prepare the app icon, splash screen, privacy policy URL, and screenshots in app.json/the store listing.

Code Example

bash
# Install EAS CLI
npm install -g eas-cli

# Login and configure
eas login
eas build:configure

# Build for Android (.aab for Play Store)
eas build --platform android

# Build for iOS (.ipa for App Store)
eas build --platform ios
You should see
Once the build process finishes, you get a download link (or a file ready for app store submission).

Try it in 5 minutes

Read through the name, slug, icon, and version fields in app.json and list out how you'd adjust them for your own project (no need to actually run a build).

A quick word of caution

The App Store/Play Store review process can take several days, and you need to clearly state your privacy policy and permission justifications (why the app needs camera/location) — incomplete info can get you rejected.

Easy traps

  • Leaving the app icon/splash screen as the default Expo placeholder and trying to submit anyway — this can get rejected during store review
  • Not deciding on the bundle identifier (com.company.appname) before setting up the app store account — this can cause conflicts at publish time

Now try it yourself

Read through the name, slug, icon, and version fields in app.json and list out how you'd adjust them for your own project (no need to actually run a build).

You'll know it worked when: Once the build process finishes, you get a download link (or a file ready for app store submission).