Skip to content

fix(android): use stable release keystore for signed APK builds#31

Merged
mikebarkmin merged 1 commit intomainfrom
copilot/fix-apk-installation-issue
Apr 28, 2026
Merged

fix(android): use stable release keystore for signed APK builds#31
mikebarkmin merged 1 commit intomainfrom
copilot/fix-apk-installation-issue

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 28, 2026

Summary

Release APKs were signed with the CI runner's auto-generated debug keystore, which is ephemeral and different on every run. This caused Android to reject upgrades between releases (e.g. 1.1.4 → 1.1.5) due to signature mismatch, requiring users to uninstall the app before installing a newer version.

Changes

android/app/build.gradle.kts

  • Reads KEYSTORE_PATH, ANDROID_STORE_PASSWORD, ANDROID_KEY_ALIAS, and ANDROID_KEY_PASSWORD from environment variables to create a release signing config.
  • Falls back to the debug signing config when KEYSTORE_PATH is not set, so local development is unaffected.

.github/workflows/release.yml

  • Added a Decode release keystore step that base64-decodes the ANDROID_KEYSTORE_BASE64 secret into a temp file before building.
  • Passes all four signing env vars to the Package APK step.

Required repository secrets

Please add the following secrets under Settings → Secrets and variables → Actions:

Secret How to get it
ANDROID_KEYSTORE_BASE64 base64 classi-release.jks (one-liner on Linux/macOS)
ANDROID_KEY_ALIAS The alias you chose when creating the keystore
ANDROID_STORE_PASSWORD The keystore password
ANDROID_KEY_PASSWORD The key password

Important: Keep a secure offline backup of classi-release.jks and its passwords. If lost, you cannot publish updates to the same app ID.

Copilot AI requested a review from mikebarkmin April 28, 2026 06:41
@mikebarkmin mikebarkmin marked this pull request as ready for review April 28, 2026 06:53
@mikebarkmin mikebarkmin merged commit 53433ae into main Apr 28, 2026
1 check failed
@mikebarkmin mikebarkmin deleted the copilot/fix-apk-installation-issue branch April 28, 2026 06:53
Copilot stopped work on behalf of mikebarkmin due to an error April 28, 2026 06:54
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.

2 participants