Files
cinny-mobile/android/SIGNING_SETUP.md

1.6 KiB

Android App Signing Setup

Why This Matters

Android requires apps to be signed with the same key for updates to work. Without proper signing, users cannot update your app - they must uninstall and reinstall, losing all data.

Setup Instructions

1. Create a Keystore (if you don't have one)

Run this command in the android/ directory:

keytool -genkey -v -keystore paarrot-release.keystore -alias paarrot -keyalg RSA -keysize 2048 -validity 10000

You'll be asked for:

  • Keystore password (remember this!)
  • Key password (remember this!)
  • Your name, organization, etc.

IMPORTANT: Back up this keystore file and remember the passwords! If you lose either, you cannot update your app.

2. Create keystore.properties

Copy the example file:

cp keystore.properties.example keystore.properties

Then edit keystore.properties and fill in:

  • storeFile: path to your keystore (e.g., paarrot-release.keystore)
  • storePassword: the keystore password you set
  • keyAlias: the alias (e.g., paarrot)
  • keyPassword: the key password you set

3. Verify

The file keystore.properties should be gitignored (check .gitignore).

4. Build

Now your release builds will be properly signed:

cd android
./gradlew assembleRelease

The signed APK will be in: app/build/outputs/apk/release/

Troubleshooting

"Updates not installing"

  • You're using a different keystore than the original APK
  • Solution: Use the same keystore that was used for the first release

"keystore.properties not found"

  • Normal for debug builds
  • Only needed for release builds
  • Create the file following step 2 above