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
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
Most likely that your key alias does not exist for your keystore file.
This answer should fix your signing issue ;)
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.
It could be any one of the parameter, not just the file name or alias - for me it was the Key Password.
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'
In order to find out what's wrong you can use gradle's signingReport
command.
On mac:
./gradlew signingReport
On Windows:
gradlew signingReport
Removing double-quotes
solve my problem, now its:
DEBUG_STORE_PASSWORD=androiddebug
DEBUG_KEY_ALIAS=androiddebug
DEBUG_KEY_PASSWORD=androiddebug
Source: Stackoverflow.com