- Access to the Google Play Console for the GVTimer app
- The release keystore file and its credentials
In app/build.gradle.kts, increment:
versionCode— must be a higher integer than the previous release (Play Store requires this)versionName— human-readable version shown to users (e.g."1.2")
versionCode = 2 // increment by 1 each release
versionName = "1.2" // update as appropriateCommit this change:
git add app/build.gradle.kts
git commit -m "Bump version to 1.2 (versionCode 2)"
git tag v1.2
git push origin main --tagsEnsure a keystore.properties file exists in the project root (already in .gitignore):
storeFile=/path/to/release.keystore
storePassword=...
keyAlias=...
keyPassword=...The Play Store requires an Android App Bundle (.aab), not an APK:
./gradlew bundleReleaseThe output file will be at:
app/build/outputs/bundle/release/app-release.aab
- Go to Google Play Console and open GVTimer.
- Navigate to Release > Production (or Testing track if doing a staged rollout).
- Click Create new release.
- Upload
app-release.aab. - Fill in the Release notes (what's new in this version).
- Click Save, then Review release, then Start rollout to Production.
- Play Store review typically takes a few hours to a few days.
- Check Release > Production for rollout status and any policy issues.
- Monitor Android Vitals for crash reports after the release goes live.
versionCodemust always increase; you cannot reuse or skip codes.- The
.aabfile should not be committed to the repository. - Keep the keystore and
keystore.propertiesfile backed up securely — losing the keystore means you cannot publish updates to the existing app listing.