Parent: #13 (Make the template a runnable Android project — missing Gradle scaffolding)
Problem
PR #17 restored the missing Android Gradle scaffolding so flutter build apk --debug succeeds from a clean checkout. The release build (make build-android / flutter build apk --release) is not verified by #17. Per the plan's No-Gos, real release signing is deferred to this concrete follow-up.
Current state (from #17):
android/key.properties.example documents the storePassword / keyPassword / keyAlias / storeFile format.
- The generated
android/app/build.gradle.kts still signs the release build with the debug keystore (Flutter default) and does not read key.properties.
- The example file carries a NOTE that release signing is tracked here.
Desired outcome
make build-android (flutter build apk --release) succeeds from a clean checkout on a properly configured machine.
android/app/build.gradle.kts reads key.properties (same format as key.properties.example) to sign the release build.
key.properties and the release keystore stay gitignored (never committed).
Solution sketch
- Wire the release-signing block in
android/app/build.gradle.kts to read key.properties (storePassword/keyPassword/keyAlias/storeFile), matching android/key.properties.example.
- Generate/create a release keystore and a real
key.properties on the developer machine (kept out of git via the existing .gitignore entries).
- Verify
flutter build apk --release succeeds.
Out of scope
- Committing any keystore or
key.properties secret to the repo.
Parent: #13 (Make the template a runnable Android project — missing Gradle scaffolding)
Problem
PR #17 restored the missing Android Gradle scaffolding so
flutter build apk --debugsucceeds from a clean checkout. The release build (make build-android/flutter build apk --release) is not verified by #17. Per the plan's No-Gos, real release signing is deferred to this concrete follow-up.Current state (from #17):
android/key.properties.exampledocuments thestorePassword/keyPassword/keyAlias/storeFileformat.android/app/build.gradle.ktsstill signs the release build with the debug keystore (Flutter default) and does not readkey.properties.Desired outcome
make build-android(flutter build apk --release) succeeds from a clean checkout on a properly configured machine.android/app/build.gradle.ktsreadskey.properties(same format askey.properties.example) to sign the release build.key.propertiesand the release keystore stay gitignored (never committed).Solution sketch
android/app/build.gradle.ktsto readkey.properties(storePassword/keyPassword/keyAlias/storeFile), matchingandroid/key.properties.example.key.propertieson the developer machine (kept out of git via the existing.gitignoreentries).flutter build apk --releasesucceeds.Out of scope
key.propertiessecret to the repo.