A new Flutter project.
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
The project uses GitHub Actions for automated builds and releases. To enable signed builds, you must configure the following Secrets in your repository settings (Settings > Secrets and variables > Actions).
GOOGLE_SERVICES_JSON: The Base64 encoded content of yourandroid/app/google-services.json.KEY_JKS: The Base64 encoded content of your release keystore file (.jks).KEY_PASSWORD: The password for your keystore.ALIAS_PASSWORD: The password for your key alias.PRODUCTION_ENV: The Base64 encoded content of your.env/production.envfile.
IOS_GOOGLE_SERVICE_INFO_PLIST: The Base64 encoded content ofios/Runner/GoogleService-Info.plist.IOS_P12_BASE64: The Base64 encoded.p12export of your Apple Distribution Certificate.IOS_MOBILEPROVISION_BASE64: The Base64 encoded.mobileprovisionfile for your app.IOS_CERTIFICATE_PASSWORD: The password used when exporting the.p12certificate.
To provide the file contents as secrets, you must encode them to Base64 first. Use the following commands from the root of your repository:
Windows (PowerShell):
# For Android (Auto-Clip)
[Convert]::ToBase64String([IO.File]::ReadAllBytes("android/app/google-services.json")) | clip
# For iOS (Auto-Clip)
[Convert]::ToBase64String([IO.File]::ReadAllBytes("ios/Runner/GoogleService-Info.plist")) | clip
# For Production Environment (Auto-Clip)
[Convert]::ToBase64String([IO.File]::ReadAllBytes(".env/production.env")) | clipmacOS/Linux:
# For Android
base64 -i android/app/google-services.json | pbcopy
# For iOS
base64 -i ios/Runner/GoogleService-Info.plist | pbcopy
# For Production Environment
base64 -i .env/production.env | pbcopyPaste the resulting string into the corresponding GitHub Secret value.
You can trigger dynamic builds for specific clients by creating a branch following the build_<client>-* pattern (e.g., build_clientname-v1.0).
The workflow will automatically look for client-specific secrets:
GOOGLE_SERVICES_JSON_<CLIENT>IOS_GOOGLE_SERVICE_INFO_PLIST_<CLIENT>PRODUCTION_ENV_<CLIENT>
If found, these will take precedence over the default secrets.
Firstly, find out the existing package name from android/app/src/main/AndroidManifest.xml. Then right click on project folder from Android Studio and click on Replace in Path.
Put existing package name in the first box and preferred package name in the second box, then click Replace All.
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.