Files
PalladiumWallet/docs/adr/0029-persistent-android-signing-keystore.md
T
davide b292590cdc docs: add docs-as-code process and one ADR per feature
docs/docs-as-code.md defines the workflow; docs/adr holds 31 ADRs
(retroactive, reconstructed from code and changelog) with a template and
index. docs/check-docs.sh validates ADR structure, index, cited code
paths, relative links and CLAUDE.md/AGENTS.md sync.
2026-11-03 09:45:51 +01:00

969 B

0029. Persistent Android release keystore kept out of git

  • Status: Accepted
  • Area: Distribution
  • Recorded: 2026-11-03 (retroactive: reconstructed from code, comments and changelog)

Context

Android refuses to update an installed app signed with a different key, and the user would have to uninstall, which deletes the wallet data.

Decision

Release APKs are signed with one persistent keystore generated once by docker/keystore/generate-keystore.sh. release.keystore is ignored by git; passwords are supplied through environment variables or prompts at each build and are never stored. docker/build.sh android refuses to run without the keystore.

Consequences

  • In-place updates keep working across releases.
  • Losing the keystore or its passwords permanently breaks in-place updates; it must be backed up outside the repository.

References

  • docker/keystore/generate-keystore.sh
  • docker/keystore/README.md
  • .gitignore