Skip to content

Play Store release build: signing, R8, versioning, listing assets - #2

Merged
lkasso merged 4 commits into
mainfrom
release/play-store-setup
Aug 20, 2026
Merged

lkasso merged 4 commits into
mainfrom
release/play-store-setup

Conversation

@lkasso

@lkasso lkasso commented Aug 17, 2026

Copy link
Copy Markdown
Member

TL;DR

Everything needed to ship the app to Google Play as an update to the existing com.mbientlab.metawear.app listing. No secrets committed.

  • Release build type with R8 shrinking + resource shrinking and keep rules (Room, Nordic DFU service, coroutines). Verified minified on a Pixel 7 + MetaMotion S: scan → connect → live stream all work; 2.1 MB APK / 4.5 MB AAB.
  • Signing from app/keystore.properties (gitignored, alongside *.jks/*.keystore/*.pepk). Absent the file the release build still assembles (debug-signed) so anyone can smoke-test; only a machine with the upload key produces the store artifact.
  • Versioning: versionCode 100 / versionName 5.0.0 — the live listing is at code 25 (4.0.0), so this clears it with room and reads as a major bump. Debug builds get a .debug suffix to coexist.
  • store-assets/: listing.md (name, short/full description, Data safety answers — declares no data collected or shared; network is HTTPS to MbientLab for firmware only — and permission justifications), RELEASE.md (upload-key signing runbook + pre-submit checklist), 7 phone screenshots (1080×2400), 512² icon.

Still needs a human

  • Put the real mbientlab_android_apps.jks path + passwords in app/keystore.properties and run ./gradlew :app:bundleRelease (see store-assets/RELEASE.md).
  • Confirm the keystore alias/password and that it's the same upload key the current listing uses.
  • Produce a 1024×500 feature graphic; verify the privacy-policy URL resolves.

Test plan

  • :app:bundleRelease (R8) BUILD SUCCESSFUL, no missing-class errors
  • Minified release build installed and exercised on device (scan/connect/stream)
  • :app:testDebugUnitTest 120 green; nothing secret is git-trackable (git check-ignore confirms)
  • Signed AAB produced with the upload key and uploaded to Play Internal testing (owner)

lkasso and others added 4 commits August 17, 2026 09:20
- versionCode 100 / versionName 5.0.0: the package already ships on Play
  at versionCode 25 (4.0.0); the new line starts well above it.
- Release build type with R8 shrinking + resource shrinking and keep
  rules for Room, the Nordic DFU service, and coroutines. Verified on a
  Pixel 7 against a MetaMotion S: the minified build scans, connects,
  and live-streams (2.1 MB APK vs 19 MB debug).
- Signing config reads app/keystore.properties (gitignored, alongside
  *.jks / *.keystore / *.pepk) so no credential can enter git. Absent the
  file, release still assembles — signed with the debug key so it can be
  smoke-tested on a device — and only a machine holding the upload key
  produces the store artifact.
- Debug builds get a .debug applicationId suffix so they coexist with the
  store install.
- AAB: language splits off (single-language app, fully offline-usable).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… icon

store-assets/listing.md (name, descriptions, Data safety answers, permission
justifications), RELEASE.md (upload-key signing from keystore.properties,
bundleRelease, version bump, pre-submit checklist), seven phone screenshots,
and the 512x512 icon. A 1024x500 feature graphic is still to be produced.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Center-crop the phone screenshots to exactly 1080x2160 (2:1) — Play caps
screenshot aspect ratio at 2:1 and the raw 1080x2400 grabs are 2.22:1;
the crop trims only the OS status bar and nav pill. Add a 1024x500
feature graphic (required for the listing): the app icon centered on the
brand-orange field. Placeholder-grade — a designed banner would be better
but this is Play-compliant and unblocks publishing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Play listing material (screenshots, feature graphic, listing copy,
runbook, hi-res icon) is release-time working material, not source.
Untrack store-assets/ and gitignore it so it stays on disk locally
without being published.
@lkasso
lkasso merged commit ab18fea into main Aug 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant