flutter-build-release · git:20261101.a143221 · 2026-11-01 · sha256 13c627113b558a16
flutter-build-release git:20261101.a143221A
Immutable. This exact content never changes and is served at /api/v1/blob/13c627113b558a16.
--- name: flutter-build-release description: Configure and verify Flutter flavors, environments, signing, versioning, release artifacts, obfuscation symbols, and store-ready builds. Use for local artifact configuration; route CI provider workflows to flutter-ci-cd, and do not publish or change live credentials without explicit authorization. --- # Flutter Build and Release Produce reproducible artifacts for the requested platforms while preserving secrets and external-release authority. ## Preflight Read SDK constraints, flavors/schemes, bundle/application IDs, version source, signing configuration, environment injection, CI, native deployment targets, and store requirements. Never print or commit secrets, keystores, provisioning material, or service credentials. ## Rules - Keep environment selection explicit and fail safely when required values are missing. - Align Dart defines, Android variants, Apple schemes/configurations, and service files by environment. - Increment versions according to the repository's release policy. - Build the exact requested artifact and keep symbols needed for crash deobfuscation. - Treat obfuscation as code-hardening, not secret protection. - Validate icons, names, permissions, privacy declarations, and target-specific metadata. - Make CI use pinned or declared tool versions where practical. - Require explicit authorization immediately before store upload, signing-credential mutation, tagging, or publishing. ## Verification Run formatting, analysis, tests, and a clean release build for each intended target/flavor. Verify the produced artifact's signature without uploading it: `apksigner verify --print-certs` for an APK, `jarsigner -verify -certs` for an AAB, and `codesign --verify --deep --strict` for an iOS app bundle, then compare the certificate or signing identity with the intended release key. Install or serve the built artifact and smoke-test startup plus a critical flow. Record artifact path, version, flavor, target, and remaining store-side work. ## References - Read [flavor and scheme alignment](references/flavor-and-scheme-alignment.md) when coordinating product flavors, Xcode schemes, application IDs, and service configuration files. - Read [obfuscation and symbols](references/obfuscation-and-symbols.md) when configuring Dart AOT obfuscation, symbol splitting, mapping archives, or stack trace deobfuscation. ## Sources - [Flutter deployment](https://docs.flutter.dev/deployment) - [Build and release an Android app](https://docs.flutter.dev/deployment/android) - [Build and release an iOS app](https://docs.flutter.dev/deployment/ios) - [apksigner](https://developer.android.com/tools/apksigner)