Purpose of this application is to showacse minimalistic Android app.
| Prop | More |
|---|---|
| Home | https://pexmor.github.io/AndBasicExample/ |
| package | io.github.pexmor.abe |
1. Generate a release keystore (do this once; back it up securely — losing it means you can never update the app):
./setup-keystore.sh
This creates release.jks and keystore.properties in the project root. Both are gitignored.
2. Create a Google Play service account
service-account.json in the project root (gitignored)3. Create the app listing in Play Console
The app must exist on Play Console (at least a draft) before the first upload. Create it manually via the console, using application ID io.github.pexmor.abe.
# Upload to the internal test track (default)
./publish.sh
# Upload to a specific track
./publish.sh --track=alpha
./publish.sh --track=production
The script checks that keystore.properties and service-account.json are present, then runs ./gradlew publishReleaseBundle which builds a signed AAB and uploads it via the Google Play Developer API.
Note:
publishReleaseBundleuploads the bundle and creates a draft release — it does not make the app live. After a successful upload you must manually promote the release in Play Console:
- Open Play Console → your app → the target track (e.g. Production).
- Click Review release.
- Resolve any warnings or policy issues.
- Click Start rollout to Production (or the equivalent for the chosen track).
Google then reviews the release before it becomes visible to users (typically fast for updates, up to a few days for new apps or significant changes).
Tip: To skip the manual promotion step you can set
userFractionin theplay {}block inapp/build.gradle.kts(e.g.userFraction.set(1.0)for 100 % rollout) combined withreleaseStatus.set(ReleaseStatus.IN_PROGRESS). The plugin will then submit the release for rollout automatically on upload. Omitting these settings (the default) keeps the safer draft behaviour.
To build the signed AAB locally without uploading:
./gradlew bundleRelease
# Output: app/build/outputs/bundle/release/app-release.aab