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

Flutter构建APK出现No signature of method android()报错

Flutter 构建release APK触发android配置块签名方法不存在报错

报错信息

执行assembleRelease任务构建失败,退出码1,错误指向android/app/build.gradle第34行的android配置块,完整报错如下:

FAILURE: Build failed with an exception.

* Where:
Build file 'F:\MyProject\android\app\build.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

现有环境

  • Flutter检测无异常,版本为3.1.0-9.0.pre dev通道,Dart版本2.18.0
  • 构建环境:Gradle 7.4.2、Kotlin 1.5.31、JVM 18.0.1.1、Windows 10

问题根因

报错本质是Gradle无法识别android配置块,由4类问题共同触发:

  1. 插件加载顺序错误,Kotlin安卓插件加载时机晚于Flutter Gradle插件,导致安卓扩展块初始化异常
  2. 依赖严重冲突:同时引入旧版Support库和AndroidX库,Gradle7+默认不支持两者混用
  3. 存在已被Gradle7移除的废弃配置,以及Firebase依赖顺序错误、重复引入废弃组件问题
  4. JDK版本过高,Flutter 3.1 dev版本与JDK18存在类加载兼容问题

修复步骤

  • 调整插件加载顺序
    打开android/app/build.gradle,将Kotlin插件的加载语句移到Flutter Gradle插件之前,修正后插件配置段如下:
    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
    
  • 清理冲突配置和依赖
    1. 删除android > buildTypes > release块下的useProguard true配置,Gradle7+默认使用R8作为混淆器,该配置已被正式移除,保留会触发构建异常
    2. 替换所有旧版Support库依赖为AndroidX版本:
      • 删除implementation 'com.android.support:multidex:1.0.3',替换为implementation 'androidx.multidex:multidex:2.0.1'
      • 删除两个旧版Support测试依赖,替换为对应AndroidX版本:
        androidTestImplementation 'androidx.test:runner:1.4.0'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
        
    3. 修正Firebase依赖配置:将Firebase BOM依赖移到所有Firebase组件最前面,删除已废弃的firebase-core依赖(BOM会自动统一管理所有Firebase组件版本,无需单独引入核心包),修正后Firebase相关依赖如下:
      implementation platform('com.google.firebase:firebase-bom:30.2.0')
      implementation 'com.google.firebase:firebase-messaging'
      
  • 修复JDK版本兼容问题
    当前使用的JDK18与现有Flutter、Gradle版本存在类加载兼容问题,将构建用JDK切换为JDK17,在Android Studio的SDK配置中指定对应JDK路径即可。
  • 校验根级Gradle配置
    打开android/build.gradle,确认buildscript依赖中已添加com.google.gms:google-services:4.3.13版本的classpath,该版本适配Gradle7.x,不会触发插件加载异常。

所有修改完成后,执行flutter clean清理历史构建缓存,再重新执行release构建命令即可正常出包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:36:21