GPD Build Lifecycle
Iron Law
NEVER UPLOAD THE SAME VERSION CODE TWICE — USE A NEW VERSION CODE FOR EVERY BUILD UPLOAD
Use gpd publish status to check the current version code before uploading.
Upload and validate
gpd publish upload app.aab --package com.example.app
Inspect release status
gpd publish status --package com.example.app --track internal
gpd publish status --package com.example.app --track production
Recent tracks and releases
gpd publish tracks --package com.example.app
Internal app sharing
Use for fast distribution of a build without a full track release.
gpd publish internal-share upload app.aab --package com.example.app
Cleanup and rollback
gpd publish halt --package com.example.app --track production --confirm
gpd publish rollback --package com.example.app --track production --confirm
Anti-Patterns
- Don't upload an AAB without checking the current version code first. Re-uploading the same version code will be rejected by Google Play; run
gpd publish status --package com.example.app --track internalbefore uploading. - Don't halt a rollout without reviewing the release status first. Running
gpd publish halt --confirmwithout checkinggpd publish statusrisks halting the wrong track or a fully-rolled-out release. - Don't use internal app sharing as a substitute for a proper track release. Internal app sharing bypasses review and track promotion history — use it for smoke tests only, not for beta distribution.
Verify
After uploading a build:
- Run
gpd publish status --package com.example.app --track internaland confirm the new version code appears with statuscompletedordraft. - After a halt or rollback, run
gpd publish status --package com.example.app --track productionto confirm the release state reflects the change before notifying stakeholders.
Notes
- Prefer
gpd publish releasefor end-to-end flow instead of manual steps. - Use a new version code for each uploaded build.
Documentation Sources
| Source | How to Access | Purpose |
|---|---|---|
| gpd CLI help | gpd publish upload --help, gpd publish status --help |
Current upload and status flags |
| gpd-id-resolver skill | Load skill | Resolve track names and version codes before operating |