I’ve editted Flutter source code like author’s documentation but always having this error when building APK file:
FAILURE: Build failed with an exception.
* Where:
Build file 'F:MyProjectandroidappbuild.gradle' line: 34
* What went wrong:
A problem occurred evaluating project ':app'.
> No signature of method: build_7lhgwn6g10f1dc3sk72t2tmig.android() is applicable for argument types: (build_7lhgwn6g10f1dc3sk72t2tmig$_run_closure2) values: [build_7lhgwn6g10f1dc3sk72t2tmig$_run_closure2@9578636]
* 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 1s
Running Gradle task 'assembleRelease'... 2.787ms
Gradle task assembleRelease failed with exit code 1
Process finished with exit code 1
Line 34 in androidappbuild.gradle’ is started with android.
This is 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 GradleException("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'
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
apply plugin: 'kotlin-android'
android {
compileSdkVersion 33
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "my-package-name"
minSdkVersion 21
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-core:17.3.0'
implementation 'com.google.firebase:firebase-messaging:20.2.4'
implementation 'com.android.support:multidex:1.0.3'
implementation platform('com.google.firebase:firebase-bom:30.2.0')
implementation('androidx.work:work-runtime') {
version {
strictly '2.6.0'
}
}
}
apply plugin: 'com.google.gms.google-services'
Flutter doctor => No issues found!
Flutter –version
Flutter 3.1.0-9.0.pre • channel dev • https://github.com/flutter/flutter.git
Framework • revision f28e570c8c (3 weeks ago) • 2022-06-14 13:39:33 -0500
Engine • revision 74ee6b5afd
Tools • Dart 2.18.0 (build 2.18.0-165.1.beta) • DevTools 2.14.0
gradle –version
Gradle 7.4.2
Build time: 2022-03-31 15:25:29 UTC
Revision: 540473b8118064efcc264694cbcaa4b677f61041
Kotlin: 1.5.31
Groovy: 3.0.9
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 18.0.1.1 (Oracle Corporation 18.0.1.1+2-6)
OS: Windows 10 10.0 amd64
Can you help me? Thank you very much!
4
Answers
Please take a backup of your project and use this Gradle
Add your package id. Then do a flutter clean. Delete pub spec.lock file.. Run flutter pub get and try again.
On mine it was caused by proguard issues. Comment out
i had the same issue after updating flutter to 3.3.9
but the main problem was the update of the kotlin version (i upgraded it to 1.7.21) and the update kotlin gradle plugin (new 7.1.2)
there were a small warning regarding useProguard is deprecated. after removing
useProguard false
from build.gradle everything works as expectedi had the same issue
i update gradle
from
classpath ‘com.android.tools.build:gradle:3.5.1’
to
classpath ‘com.android.tools.build:gradle:4.1.3’
it fixes the issue