Skip to content
Back to skills

Eas Submit Play

ASecurity

Prepare a controlled AAB upload to Google Play Console via EAS Submit. Use when the user asks to submit an Android build to Play.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
developmentgobashtestingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add khadinakbarlabs/expo-mobile-app-builder --skill eas-submit-play --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Eas Submit Play?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Eas Submit Play
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/khadinakbarlabs-eas-submit-play/badge)](https://www.skillsdirectory.com/skills/khadinakbarlabs-eas-submit-play)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "eas-submit-play"
description: "Prepare a controlled AAB upload to Google Play Console via EAS Submit. Use when the user asks to submit an Android build to Play."
---

# EAS Submit to Play

Prepare an AAB upload to Play Console. The final upload and any promotion are owner-confirmed external actions.

## External action gate

Do not read, create, or upload a service-account key; run `eas submit`; or promote a track until the owner has confirmed the exact Play developer account, app, build, target track, release status, and upload action. A draft upload and a production release are separate decisions.

## Prerequisites

1. App created in Play Console (manual first upload required per Play policy)
2. Service Account JSON (see `set-up-play-app-signing` for setup)
3. `eas.json` configured

## Service Account setup

Google Play Console → Setup → API access:
1. "Choose existing Google Cloud project" OR create new
2. "Create new service account" → grant Play Developer roles
3. In Google Cloud Console → IAM → that account → Keys → Add Key → JSON
4. Download the key only to owner-controlled secret storage outside the repository
5. Configure its local path or CI secret reference without committing the file, its path, or its contents

Play Console → Setup → API access → grant the account permissions:
- "App access" → all
- "Releases" → manage production releases
- "Store presence" → manage

## `eas.json` submit section
```json
{
  "submit": {
    "production": {
      "android": {
        "serviceAccountKeyPath": "<path-outside-the-repository>",
        "track": "internal",
        "releaseStatus": "draft"
      }
    }
  }
}
```

`track` options: `internal`, `alpha`, `beta`, `production`.
`releaseStatus`: `draft` (review only), `inProgress` (start staged), `completed` (full release).

## Submit after confirmation
```bash
eas submit --platform android --profile production --latest
```

Confirm the resolved build ID before running this command; `--latest` can select a different build than expected.

## Common gotchas
- "Authentication failed" → service account JSON invalid OR API not enabled
- "App not found" → must do FIRST upload manually via Play Console web UI
- "Track not available" → app not yet promoted to that track (rollout from lower track first)
- "Already in review" → can't submit while previous version under review

## Track lifecycle
```
Internal (immediate) → Closed (alpha/beta) → Open (testing) → Production
```

Promote between tracks only after a separate owner confirmation of the target track and release status.

## Pair with
- `internal-testing-track`, `closed-testing-track`, `phased-release-play`

Files in this skill

  • SKILL.md2.6 KB
  • agents/openai.yaml176 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…