You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Gradle构建报错:android()方法签名不匹配问题求助

Flutter Gradle bundleRelease构建错误:无匹配签名的android()方法解决

错误核心原因

这个错误本质是Gradle版本、Android Gradle Plugin(AGP)、Flutter版本不兼容,或是build.gradle配置的语法/加载顺序问题导致Gradle无法正确解析android{}代码块。


针对性解决步骤

1. 对齐版本依赖链

Gradle、AGP、Flutter三者必须版本匹配,这是最常见的触发原因:

  • 打开项目根目录下的gradle/wrapper/gradle-wrapper.properties,修改distributionUrl为AGP 7.0.0对应的Gradle版本(比如7.0.2):
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
    
  • 根目录build.gradle中,可升级AGP到兼容的小版本(比如7.0.4),同时确保Kotlin版本与AGP兼容(1.5.21可升级到1.6.10,兼容性更好)。

2. 修正app模块配置问题

  • 将targetSdkVersion改为与compileSdkVersion一致(当前是31),避免版本不一致引发的配置解析错误;
  • 移除重复的仓库配置(maven { url "https://maven.google.com" }已被google()仓库包含);
  • 删除根目录build.gradle中可能干扰配置加载顺序的evaluationDependsOn代码块(该配置容易导致子项目依赖解析异常)。

3. 清理构建缓存并重新构建

执行以下命令彻底清理后重新构建:

flutter clean
rm -rf .android .gradle # Windows系统用del /s /q .android .gradle
flutter pub get
flutter build appbundle

修改后的配置示例

根目录build.gradle

buildscript {
    ext.kotlin_version = '1.6.10'
    repositories {
        google()
        mavenCentral() // 替换已停止服务的jcenter
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.4'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app模块build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 31

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.example.flutter_auth"
        minSdkVersion 16
        targetSdkVersion 31
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.4.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

额外排查点

  • 执行flutter doctor检查Flutter环境是否存在其他异常;
  • 若使用Flutter 3.x版本,建议直接升级AGP到7.2+、Gradle到7.4+,适配更完善。

内容的提问来源于stack exchange,提问作者Kunj Bhuva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:52:45