How to Create an APK for Production Using Expo and Submit It to the Play Store

How to Create an APK for Production Using Expo and Submit It to the Play Store


Introduction

So, you've built a fantastic React Native app with Expo, and now you're eager to publish it on the Google Play Store. But wait—how do you generate a production-ready APK? Worry not! In this guide, I'll walk you through the entire process step by step.

Step 1: Install Expo CLI (If Not Installed)

First, ensure you have Expo CLI installed. If not, run:

npm install -g expo-cli

Also, make sure you’re logged in to your Expo account:

expo login

Step 2: Configure Your App

Before generating the APK, check your app.json or app.config.js file. Update the necessary details like the app name, package name, and version.

Example app.json:

{
  "expo": {
    "name": "MyAwesomeApp",
    "slug": "myawesomeapp",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "android": {
      "package": "com.yourcompany.myawesomeapp",
      "versionCode": 1,
      "permissions": []
    }
  }
}

Ensure that android.package is unique (matching your domain, like com.yourcompany.myapp).

Step 3: Build the APK File

Since Expo no longer supports “expo build:android”, you’ll need to use EAS Build instead. Run the following command:

npx expo install eas-cli

Then, initialize EAS:

eas build:configure

Now, to build an APK, use:

eas build -p android --profile preview

This will generate an APK for testing purposes. For a Play Store-ready build, use:

eas build -p android --profile production

Once the build is complete, you’ll get a download link for your APK/AAB file.

Need to Convert .AAB to .APK?

If you want to generate an APK from an AAB file for testing, check out this guide.

Step 4: Sign Your APK (If Required)

Expo automatically handles signing, but if you want to manage keys manually, generate a keystore:

eas credentials

Follow the prompts to generate and download your keystore.

Step 5: Test Your APK on a Physical Device

Download the APK file and install it on your phone:

adb install myapp.apk

Alternatively, share the download link generated by Expo.

Step 6: Submit to Google Play Store

1. Create a Google Play Developer Account

If you haven’t already, register at Google Play Console (one-time fee of $25).

2. Create a New App

  • Click Create app

  • Set your app name, language, and category

  • Choose App (not Game) and Free/Paid option

3. Upload Your AAB File

Since Google now requires AAB instead of APK, make sure you generated the AAB file (--profile production). Upload it under Production > Create new release.

4. Complete Store Listing

  • App Name & Description

  • Screenshots (Minimum 2, for phones and tablets)

  • Feature Graphic (1024x500 px)

  • Privacy Policy URL

5. Submit for Review

Once everything is set, click Submit for Review. Google will review your app (typically within 2–7 days).

Conclusion

Congratulations! 🎉 You've successfully created a production-ready APK (or AAB) and submitted your app to the Google Play Store. Now, grab some chai ☕ and wait for your app to go live!

If you found this guide helpful, share it with your fellow developers. 🚀 Happy coding!

Did you find this article valuable?

Support Abhishek Anand's blog by becoming a sponsor. Any amount is appreciated!