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

如何修复Flutter项目build.gradle的android()方法签名异常?

Flutter Android构建失败问题排查与修复

错误信息

  • 构建失败提示:FAILURE: 构建过程中出现异常导致失败。
  • 错误位置:构建文件 D:...\QRTic\QRTic_Customer\flutter_application_1\android\app\build.gradle 第34行
  • 核心问题:评估项目':app'时发生错误。
  • 报错详情:

    No signature of method: build_736eq4o62b75hodqgip5fud2k.android() is applicable for argument types: (build_736eq4o62b75hodqgip5fud2k$_run_closure3) values: [build_736eq4o62b75hodqgip5fud2k$_run_closure3@389d26e3]

错误成因

这个错误的核心是Gradle插件版本不兼容:

  • 你使用了已废弃的 kotlin-android-extensions 插件,该插件在Kotlin 1.8+版本中已被彻底移除,当前Gradle环境(或Flutter绑定的Gradle版本)不再支持该插件的配置逻辑。
  • androidExtensions 代码块是 kotlin-android-extensions 的专属配置项,当插件被移除或版本不匹配时,Gradle无法识别该配置,进而导致后续的 android{} 代码块解析异常,触发方法签名不匹配的错误。

修复操作

步骤1:移除废弃的插件和配置

直接删除以下代码:

apply plugin: 'kotlin-android-extensions'

androidExtensions {
    experimental = true
}

步骤2:替换为View Binding(替代kotlin-android-extensions功能)

如果之前依赖 kotlin-android-extensions 的视图绑定能力,需要改用Android官方的View Binding:

  1. 在 android{} 代码块中添加View Binding配置:
android {
    // ... 保留原有其他配置
    buildFeatures {
        viewBinding true
    }
}
  1. 项目中原先使用 kotlin-android-extensions 的代码,需改为通过View Binding类获取视图(例如:原直接调用 textView.text 改为 binding.textView.text,其中 binding 是对应布局生成的Binding实例)。

步骤3:清理缓存并同步构建

  1. 执行命令清理项目缓存:flutter clean
  2. 在Android Studio中点击「Sync Project with Gradle Files」同步配置
  3. 重新尝试构建项目

修改后的完整build.gradle示例

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

android {
    compileSdkVersion flutter.compileSdkVersion
    ndkVersion flutter.ndkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

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

    // 添加View Binding配置
    buildFeatures {
        viewBinding true
    }

    defaultConfig {
        applicationId "com.example.flutter_application_1"
        minSdkVersion flutter.minSdkVersion
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    signingConfigs{
        debug{
            keyAlias 'qrtic'
            storePassword '123456'
            storeFile file('qrtic.jks')
            keypassword '123456'
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.debug
        }
        debug {
            signingConfig signingConfigs.debug
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 08:40:28