2.5 KiB
2.5 KiB
Android Build Scripts
Scripts for building, signing, and distributing the Kordant Android app.
Scripts
generate-release-key.sh
Generates a release keystore and configures signing for Google Play.
chmod +x scripts/generate-release-key.sh
./scripts/generate-release-key.sh
Creates:
kordant-release.keystore— The keystore file (KEEP SECURE)key.properties— Gradle signing credentials (in.gitignore)
build-release-aab.sh
Builds a signed Android App Bundle (AAB) for Google Play upload.
chmod +x scripts/build-release-aab.sh
./scripts/build-release-aab.sh # prodRelease (default)
./scripts/build-release-aab.sh --variant=devRelease
Requires:
key.propertiesconfigured (copy fromkey.properties.template)- Android SDK configured in
local.properties
Build Variants
| Variant | Application ID | API URL | Use Case |
|---|---|---|---|
prodRelease |
com.kordant.android |
api.kordant.com |
Google Play production |
devRelease |
com.kordant.android.dev |
10.0.2.2:3000 |
Internal testing |
prodDebug |
com.kordant.android.debug |
api.kordant.com |
Debug with prod config |
devDebug |
com.kordant.android.dev.debug |
10.0.2.2:3000 |
Development |
Gradle Commands
# Build release AAB (for Play Store)
./gradlew bundleProdRelease
# Build release APK (for sideloading)
./gradlew assembleProdRelease
# Build debug APK
./gradlew assembleDevDebug
# Run unit tests
./gradlew test
# Run instrumentation tests (requires device/emulator)
./gradlew connectedAndroidTest
# Generate baseline profile (for startup optimization)
./gradlew baselineProfileProdRelease
# Clean build
./gradlew clean
Output Locations
| Build Type | Output Path |
|---|---|
| AAB | app/build/outputs/bundle/prodRelease/app-prod-release.aab |
| APK | app/build/outputs/apk/prod/release/app-prod-release.apk |
| Test APK | app/build/outputs/apk/androidTest/prod/debug/app-prod-debug-androidTest.apk |
| ProGuard mapping | app/build/outputs/mapping/prodRelease/mapping.txt |
| Baseline profile | app/build/outputs/baselineProfiles/prodRelease/baseline-prof.txt |
Signing
The app uses Google Play App Signing. The upload key is managed via key.properties:
- Copy template:
cp key.properties.template key.properties - Edit with your credentials
- Build:
./gradlew bundleProdRelease
The key.properties file is in .gitignore and should NEVER be committed.