android-build-sign

Installation
SKILL.md

Automate this: /mobile-release:ship-beta runs this skill end to end and uploads the result; /mobile-release:bootstrap creates the keystore, signingConfigs, and CI workflow from nothing. Keystore creation is a gated step — see skills/release-automation for what an agent may do unattended.

Produce a signed, verified Android release artifact from a source tree. Stop at a verified artifact on disk — this skill does not upload to Play.

Process:

  1. Discover the project — wrapper, modules, variants, artifact paths — using Discover the project below.
  2. Set versionCode and versionName using references/versioning.md. versionCode must be a strictly higher integer than every code already uploaded for this package, on any track.
  3. Confirm an upload keystore exists. If it does not, create one using Create the upload keystore below, and keep it outside the repository.
  4. Wire signingConfigs into the release build type using references/signing-configs.md — Kotlin DSL and Groovy, and the four ways to supply the credentials.
  5. Confirm the target API level satisfies Target API level below before building.
  6. Build with ./gradlew bundleRelease, and collect the artifact, the R8 mapping file, and native debug symbols per references/build-outputs.md.
  7. Verify the artifact with references/verification.md — bundletool for an AAB, apksigner verify --print-certs for an APK. Never report a build as done without a certificate fingerprint.
  8. If Play App Signing is in play — first release, lost upload key, key rotation — read references/play-app-signing.md.
  9. To run this in CI, use the workflow in references/github-actions.md.
  10. On any failure, look the error up in references/troubleshooting.md before changing the build.
Installs
2
First Seen
Oct 15, 2026