3.2 KiB
3.2 KiB
MindMachine - Development Notes
Build prerequisites
- JDK 17
- Android Studio (recommended)
- Android SDK installed
local.propertiesconfigured (Android Studio usually writes this)
Build outputs (where files end up)
-
Debug APK
- Task:
assembleDebug - Output:
app/build/outputs/apk/debug/app-debug.apk
- Task:
-
Release AAB (Android App Bundle)
- Task:
bundleRelease - Output:
app/build/outputs/bundle/release/app-release.aab
- Task:
-
Debug AAB (rarely needed)
- Task:
bundleDebug - Output:
app/build/outputs/bundle/debug/app-debug.aab
- Task:
Create an AAB (CLI)
Before uploading a new AAB to Google Play, make sure the app version is bumped:
app/build.gradle.kts→defaultConfig.versionCodemust be unique and increasing on Play Console.- Update
versionNameas your human-readable release string.
From the repo root:
cd MindMachine
./gradlew bundleRelease
The bundle will be at:
app/build/outputs/bundle/release/app-release.aab
(Optional) clean rebuild:
./gradlew clean bundleRelease
Create an AAB (Android Studio)
- Build → Generate Signed Bundle / APK…
- Select Android App Bundle
- Select Release
- Select the upload keystore
- Finish
Signing setup (release bundles)
Release signing is configured in app/build.gradle.kts to load credentials from:
keystore/upload-keystore.properties
That file should contain the standard fields:
storeFile=keystore/<your-upload-keystore>.jks
storePassword=<password>
keyAlias=<alias>
keyPassword=<password>
Notes:
- Treat
upload-keystore.propertiesas 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.
-
Play Console
- Create your in-app products and/or subscriptions (base plans/offers).
- Make sure each product is in an Active state.
-
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.
-
Upload AAB + publish to the test track
- Upload the latest
app-release.aabto the test track. - Publish/roll out the test release.
- Upload the latest
-
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).
-
Payment profile / payment method (if prompted)
- If Google prompts for payment info on the tester account, add a payment method in:
- Play Store → Payments & subscriptions → Payment methods
- (and/or set up the Google Payments profile for that account)
- Test purchases will use Google’s test purchase flow (no real charge).
- If Google prompts for payment info on the tester account, add a payment method in:
-
Verify in the app
- Trigger the subscribe/buy flow and confirm the purchase dialog appears.
- Confirm acknowledgements/entitlements are applied as expected.