'APK signing error : Failed to read key from keystore
I'm developing android app under intellij and gradle. and using following way to generate keystore file:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
then used the keystore file in build.gradle:
signingConfigs {
robert {
storePassword 'robert'
storeFile file('/Users/bournewang/Documents/Project/android.keystore')
keyPassword 'robert'
keyAlias 'mike'
}
}
when finally trying to generate signed apk file: ./gradlew assembleRelease
it gives the error:
Execution failed for task ':Myexample:packageRelease'.
Failed to read key from keystore
Solution 1:[1]
In order to find out what's wrong you can use gradle's signingReport command.
On mac:
./gradlew signingReport
On Windows:
gradlew signingReport
Solution 2:[2]
Most likely that your key alias does not exist for your keystore file.
This answer should fix your signing issue ;)
Solution 3:[3]
Removing double-quotes solve my problem, now its:
DEBUG_STORE_PASSWORD=androiddebug
DEBUG_KEY_ALIAS=androiddebug
DEBUG_KEY_PASSWORD=androiddebug
Solution 4:[4]
In my case, while copying the text from other source it somehow included the space at the end of clipboard entry. That way the key password had a space at the end.
Solution 5:[5]
In Android Studio go to Build > Clean Project then re-generate signed APK using Build > Generate Signed Bundle / APK... and then clear password-fields and re-enter your passwords
Solution 6:[6]
For someone not using the signing configs and trying to test out the Cordova Release command by typing all the parameters at command line, you may need to enclose your passwords with single quotes if you have special characters in your password
cordova run android --release -- --keystore=../my-release-key.keystore --storePassword='password' --alias=alias_name --password='password'
Solution 7:[7]
The big thing is either the alias or the other password is wrong. Kindly check your passwords and your issue is solved. Incase you have forgotten password, you can recover it from the androidStuido3.0/System/Log ... Search for the keyword password and their you are saved
Solution 8:[8]
Make sure you have correct the folliwn
- keystore file path
- keystore alies name
- keystore password
keystore in android/key.properties
Solution 9:[9]
in my case for some reason, after updating android studio to the last stable version, the password that was always by default got changed, i just had to set correct password again and it worked
Solution 10:[10]
Depending on where you generated the keyfile, keytool might refer to a different binary, running on a different JVM version. These are not necessarily compatible, try adjusting the versions.
Solution 11:[11]
I got same error today.
Execution failed for task ':app:packageRelease'. A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable com.android.ide.common.signing.KeytoolException: Failed to read key news from store "E:\keystore\news.jks": Keystore was tampered with, or password was incorrect
I had same key password and key store password. But i wrote a wrong password.
Solution 12:[12]
For me this worked.
- Go to
<your_app_name>/android. - On the terminal use
./gradlew signingReportfor Mac OS andgradlew signingReportfor Windows. - Check if each element of each task has a Variant, Config, Store, Alias, MD5, SHA1, SHA-256, Valid until. If so you should be good.
- If any of the above are absent then try to regenerate the key store using this link.
- Copy the key store file and paste it inside
<your_app_name>/android/app.
Some things that I was doing wrong while generating the key store file were.
- Using quotations on
MYAPP_UPLOAD_..._PASSWORD's.
MYAPP_UPLOAD_STORE_PASSWORD="Password123"
MYAPP_UPLOAD_KEY_PASSWORD="Password123"
- I used \J4ct@RD as a password and it did not work. I later changed the password to something that was just aplphanumeric and it worked.
Solution 13:[13]
It could be any one of the parameter, not just the file name or alias - for me it was the Key Password.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow

