2.5 KiB
2.5 KiB
Flutter Build Android
Composite action to configure Android keystore signing, build release AAB and APK artifacts, and optionally upload to Google Play Console and Shorebird.
Inputs
| Name | Description | Required | Default |
|---|---|---|---|
working_directory |
Path to the Flutter app package directory. | No | . |
build_aab |
Whether to build an Android App Bundle (.aab). |
No | true |
build_apk |
Whether to build a release APK (.apk). |
No | false |
build_args |
Extra arguments passed to flutter build. |
No | '' |
artifact_prefix |
Optional prefix for copied versioned artifacts in output_dir. |
No | '' |
output_dir |
Directory to copy versioned artifacts into when artifact_prefix is set. |
No | artifacts |
keystore_base64 |
Base64-encoded Android release keystore file. | No | '' |
key_alias |
Android signing key alias. | No | '' |
key_password |
Android signing key password. | No | '' |
store_password |
Android keystore password. | No | '' |
google_play_service_account_json |
Google Play service account JSON content. | No | '' |
google_play_service_account_file |
Fallback path to Google Play service account JSON file. | No | '' |
google_play_track |
Google Play track (internal, alpha, beta, production). |
No | beta |
google_play_status |
Google Play release status (completed, draft, inProgress, halted). |
No | completed |
google_play_script |
Path to the Dart Google Play upload script. | No | scripts/upload_play_store.dart |
shorebird_token |
Shorebird token for optional Shorebird release. | No | '' |
shorebird_artifact |
Shorebird artifact type (apk or aab). |
No | apk |
Outputs
| Name | Description |
|---|---|
version |
Resolved package version from pubspec.yaml. |
aab_path |
Path to the built .aab file. |
apk_path |
Path to the built .apk file. |
Example Usage
- name: Build & Release Android
uses: rodydavis/shared-actions/flutter-build-android@main
with:
working_directory: packages/hfw_flutter
build_aab: 'true'
build_apk: 'true'
artifact_prefix: hfw-android
keystore_base64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
key_alias: ${{ secrets.ANDROID_KEY_ALIAS }}
key_password: ${{ secrets.ANDROID_KEY_PASSWORD }}
store_password: ${{ secrets.ANDROID_STORE_PASSWORD }}
google_play_service_account_json: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
google_play_track: beta
shorebird_token: ${{ secrets.SHOREBIRD_TOKEN }}