Release signing is configured in `app/build.gradle.kts` to load credentials from:
-`keystore/upload-keystore.properties`
That file should contain the standard fields:
```properties
storeFile=keystore/<your-upload-keystore>.jks
storePassword=<password>
keyAlias=<alias>
keyPassword=<password>
```
Notes:
- Treat `upload-keystore.properties` as **secret**. Do not share it publicly.
- On Google Play you typically use **Play App Signing**. You upload with your **upload key**, Google signs for distribution.
## Play Billing testing (subscribe/buy) checklist
Important: **Billing only works reliably when the app is installed from Google Play** (Internal/Closed testing). Sideloaded builds often fail Billing flows.
1.**Play Console**
- Create your **in-app products** and/or **subscriptions** (base plans/offers).
- Make sure each product is in an **Active** state.
2.**Add testers**
- Add your tester Gmail(s) to the app’s **Internal testing** (or Closed testing) track.
- Also add the same Gmail(s) to **Play Console → Setup → License testing**.
3.**Upload AAB + publish to the test track**
- Upload the latest `app-release.aab` to the test track.
- Publish/roll out the test release.
4.**Install from Play Store**
- On the device, log into the Play Store using the tester account.
- Install the app from the test track (Play will show it as available to that tester).