Skip to content

Dheeraj23qw/expo-to-playstore-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation


Expo EAS to Google Play Store: Production Guide

This document outlines the automated pipeline for building and submitting Android applications. We utilize a Google Service Account to act as a bridge between Expo and the Google Play Console.

1. Google Cloud Configuration

The Service Account is a non-human user that performs the upload on your behalf.

  1. Create Project: Visit the Google Cloud Console. Create a new project named after your application.
  2. Service Account: Navigate to IAM & Admin > Service Accounts.
  • Create a service account (e.g., eas-deploy-manager).
  • Assign the Editor role.
  1. Generate JSON Key:
  • Select the created account > Keys tab > Add Key > Create new key.
  • Select JSON. This downloads a private key file. Store this securely; do not commit it to version control.

2. Play Console Authorization

You must explicitly grant the Service Account permission to manage your store listings.

  1. Invite User: In the Google Play Console, go to Users and Permissions.
  2. Add Email: Invite the email address of the Service Account you created in Step 1.
  3. Permissions: Grant Admin or App Level permissions (specifically "Create and edit apps" and "Manage store listings").

3. Expo Integration

Link your private JSON key to your Expo project to enable automated signing and uploading.

Open your terminal and execute:

eas credentials

Configuration Path:

  • Select Android
  • Select Production
  • Select Google Service Account Key
  • Choose Upload a new Service Account Key JSON
  • Provide the path to the downloaded .json file.

4. Deployment Commands

Once configured, use the following commands to trigger the pipeline.

Full Automation (Build + Submit)

This builds the .aab on Expo servers and pushes it directly to the Play Store Internal Test track.

eas build --platform android --auto-submit

Manual Submission

If you have an existing build and only need to upload:

eas submit --platform android

Technical Requirements & Security

Package Identity

Ensure your app.json (or app.config.js) contains a unique, matching package name.

"android": {
  "package": "com.yourdomain.appname"
}

Security Best Practices

Prevent credential leaks by updating your .gitignore immediately:

# Ignore Google Service Account keys
*.json
!app.json
!package.json

Common Failure Points

  • API Access: Ensure the "Google Play Developer API" is enabled in your Google Cloud Project.
  • Account Status: Your Google Play Developer account must be fully verified and the $25 fee paid.
  • Draft Status: The app entry must be created in the Play Console before the first automated submission can succeed.

Releases

No releases published

Packages

 
 
 

Contributors