How to make flutter app distribution for testing in Firebase

  • Create a keystore for the app.
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key


  • Create the key properties for Android to read the keystore. Please be noted you'd better ignore this file in .gitignore to not push it onto GitHub.


  • Go to Flutter docs here to configure signing in gradle for Android.


  • Update the version section in the "pubspec.yaml" if needed.
  • Build the release apk package for Android.
flutter build apk --release
# App bundle (preferred)
flutter build appbundle --release


  • Build the release app package for iOS, then open xcode -> Product -> Archive -> Distribute App -> Ad Hoc -> Export to get actual .ipa file. (Remember to update the xcode-Runner-General-Version first)
flutter build ios --release
  • Go to App Distribution in Firebase and drag Android apk file/iOS ipa file into related apps.


  • Add testers' email and notes and submit. Testers will receive the app install email.





  • Now you will have a lot of information to input for the iOS app.




  • We may probably need to configure the SH1 of the app in google cloud console if we use cloud services like google map services. Please be noted there is 1 SH1 for iOS app, and for Android app there is 1 debug SH1 and 1 release SH1 as well as 1 SH1 in Google Play Console.
#Check the release keystore (For iOS and Android release app)
keytool -list -v -keystore ~/geofencing-key.jks

#Check the debug keystore (For Android debug app)
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v