'Execution failed for task ':app:signReleaseBundle'
I have this error at the moment to make flutter build appbundle
this is the error:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:signReleaseBundle'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
> Failed to read key sd from store "C:\flutter_project\cursin2\cursin-main\android\app\upload-keystore.jks": Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available
* 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 https://help.gradle.org
BUILD FAILED in 6s
Running Gradle task 'bundleRelease'... 9,1s
Gradle task bundleRelease failed with exit code 1
PS C:\flutter_project\cursin2\cursin-main>
i've tried all ways to fix it, but the error is still appearing.
my key.properties:
storePassword=ul109000
keyPassword=ul109000
keyAlias=sd
storeFile=C:/flutter_project/cursin2/cursin-main/android/app/upload-keystore.jks
Solution 1:[1]
The only method to solve this, that worked for me was:
- flutter clean
- edit the path i used in key propeties.
For example: "./upload-keystore.jks" to "C:/key/myapp/upload-keystore.jks" 3. flutter build appbundle
Solution 2:[2]
in android app/ build.gradle
inside android
tag
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
signingConfigs {
debug {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
storeFile path will be ./upload-keystore.jks
and
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
minifyEnabled true
shrinkResources true
signingConfig signingConfigs.release
}
}
Solution 3:[3]
Delete this:
debug {
storeFile file(storeFile_)
storePassword storePassword_
keyAlias keyAlias_
keyPassword keyPassword_
}
Solution 4:[4]
First
in android app/ build.gradle
replace this
buildTypes {
release {
signingConfig signingConfigs.release
}
}
with this
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
minifyEnabled true
shrinkResources true
signingConfig signingConfigs.release
}
}
Second
remove upload-keystore.jks
in your generation path in my case (Ubuntu OS)
the path is /home/user/upload-keystore.jks
Third
genrate a new key with with extra attribute
-storetype JKS
for Linux
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload -storetype JKS
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Carlos PeƱaranda |
Solution 2 | Hardik Mehta |
Solution 3 | Tyler2P |
Solution 4 | Ahmed Elsayed |