Mac OS Flutter Build Appbundle Failed: Invalid Keystore Format

since a week I am trying to create android app bundle from a flutter app and I've followed from Create an upload keystore given official flutter website

in Mac OS I've tried following command in terminal

keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

it prompted me to Enter keystore passwordand which I've write android and then Re-enter new password:android after that sequence of questions and answers which I've filled up like as your first and last name?, What is the name of your organizational unit?, What is the name of your organization?, What is the name of your City or Locality?, What is the name of your State or Province?, What is the two-letter country code for this unit?, and finally asked about the information is correct which I replied yes, it made .jks file while prompting like this

Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days
    for: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
[Storing /Users/faizfareed/upload-keystore.jks]

after that I've Created a file named [project]/android/ that containing a reference to the keystore with following info in the file


finally I've Configured gradle [project]/android/app/build.gradle file.

Added the keystore information from properties file before the android block:

   def keystoreProperties = new Properties()
   def keystorePropertiesFile = rootProject.file('')
   if (keystorePropertiesFile.exists()) {
       keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

   android {

Loaded the file into the keystoreProperties object.

Replaced the buildTypes block:

buildTypes {
       release {
           // TODO: Add your own signing config for the release build.
           // Signing with the debug keys for now,
           // so `flutter run --release` works.
           signingConfig signingConfigs.debug

With the signing configuration info:

signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
   buildTypes {
       release {
           signingConfig signingConfigs.release

finally when I executed flutter build appbundle command, it giving error like this one

[email protected] building_apk % flutter build appbundle 

Building without sound null safety
For more information see

FAILURE: Build failed with an exception.                                
* What went wrong:                                                      
Execution failed for task ':app:signReleaseBundle'.                     
> A failure occurred while executing$ActionFacade
   > Failed to read key upload from store "/Users/faizfareed/upload-keystore.jks": Invalid keystore format
* Try:                                                                  
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at                              
BUILD FAILED in 7s                                                      
Running Gradle task 'bundleRelease'...                                  
Running Gradle task 'bundleRelease'... Done                         7.8s
Gradle task bundleRelease failed with exit code 1

for reference I am also attaching Image of the terminal

enter image description here

I've also tried following solution but nothing works for me

Can anyone help me out from this error Invalid keystore formate



I just have the same error. I had installed JDK from but it wasn't necessary since Android Studio have it, so I uninstalled it.

I used the next command in terminal

/Applications/Android\ -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

I recommended to use the command

flutter doctor -v

to check java path 'Java binary at:' enter image description here