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.
The Service Account is a non-human user that performs the upload on your behalf.
- Create Project: Visit the Google Cloud Console. Create a new project named after your application.
- Service Account: Navigate to IAM & Admin > Service Accounts.
- Create a service account (e.g.,
eas-deploy-manager). - Assign the Editor role.
- 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.
You must explicitly grant the Service Account permission to manage your store listings.
- Invite User: In the Google Play Console, go to Users and Permissions.
- Add Email: Invite the email address of the Service Account you created in Step 1.
- Permissions: Grant Admin or App Level permissions (specifically "Create and edit apps" and "Manage store listings").
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
.jsonfile.
Once configured, use the following commands to trigger the pipeline.
This builds the .aab on Expo servers and pushes it directly to the Play Store Internal Test track.
eas build --platform android --auto-submit
If you have an existing build and only need to upload:
eas submit --platform android
Ensure your app.json (or app.config.js) contains a unique, matching package name.
"android": {
"package": "com.yourdomain.appname"
}
Prevent credential leaks by updating your .gitignore immediately:
# Ignore Google Service Account keys
*.json
!app.json
!package.json
- 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.