- plugins/withReleaseSigning.js — Expo config plugin that injects a release
signingConfig into android/app/build.gradle at prebuild, reading credentials
from credentials/keystore.properties (gitignored). Survives CNG regeneration.
- scripts/build-release-apk.sh — generate keystore (once) → prebuild → build →
install → emit a shareable cardclaws-demo.apk
- .gitignore: exclude /credentials, *.keystore, *.apk (no secrets/binaries)
Produces a standalone APK with the JS bundle embedded — runs with no Metro, no
laptop, no Wi-Fi. Built, signed, installed, and verified running on a physical
device with Metro stopped + the USB route removed.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>