I’m new to flutter and I’m trying to run my first project without any changes to the source code of the demo app. But I keep getting the following error:
Launching libmain.dart on SM A115F in release mode...
Running Gradle task 'assembleRelease'...
FAILURE: Build failed with an exception.
* Where:
Build file 'C:UsersMETROStudioProjectshelloworldandroidappbuild.gradle' line: ??
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not get unknown property 'keystoreProperties' for SigningConfig_Decorated{name=release, storeFile=null, storePassword=null, keyAlias=null, keyPassword=null, storeType=pkcs12, v1SigningEnabled=true, v2SigningEnabled=true, enableV1Signing=null, enableV2Signing=null, enableV3Signing=null, enableV4Signing=null} of type com.android.build.gradle.internal.dsl.SigningConfig.
* 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 5s
Exception: Gradle task assembleRelease failed with exit code 1
I tried everything from upgrading gradle to generating keystore even if I’m just trying to run the project,
this is my appbuild.gradle file:
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 30
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.helloworld"
minSdkVersion 16
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName.toString()
}
signingConfigs{
release {
keyAlias keystoreProperties['key']
keyPassword keystoreProperties['key password']
storeFile keystoreProperties['C:\Users\METRO\key.jks'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['store password']
}
}
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.release
}
}
}
flutter {
source '../..'
}
if (project.hasProperty("MyProject.signing")
&& new File(project.property("MyProject.signing")+".gradle").exists()){
apply from: project.property("MyProject.signing")+".gradle"
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()){
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
And this is my keystore.properties file :
storePassword = store password
keyPassword = key password
keyAlias = key
storeFile = C:\Users\METRO\key.jks
Note: android studio highlights warnings in front of storePassword,keyPassword,keyAlias as unused properties. Is this is the problem ? If it is, how to solve it ? PLEASE help.
3
Answers
You seem to have misconfigured your appbuild.gradle file and used double back slashes on your keystore.properties.
Add this at the end of your localProperties instead of the bottom of that file.
Change your
to
and run this on Terminal
and make sure you set your location like this in your key.properties file
storeFile=c:/Users/YOUR LOCATION/upload-keystore.jks
follow the steps and you will get rid of the problem:
Flutter signing the application
You probably have misconfigured the file and the credentials too.
You probably missing this block inside project/android/app build.gradle file:
It should be just before Android block: