# 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:

```bash
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:

```bash
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:

```bash
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
