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

AGP 8.x集成Flutter模块遇Gradle错误,求解决方案

AGP 8.x集成Flutter子模块报错的原因分析与解决经验

错误原因分析

  • Gradle API变更导致兼容性问题:AGP 8.4要求搭配Gradle 8.0+版本,旧版Flutter自动生成的include_flutter.groovy脚本中,错误地在org.gradle.invocation.DefaultGradle实例上调用include(:flutter)方法。而Gradle 8.x中,include方法属于Project对象的API,而非顶层Gradle实例,因此触发方法找不到的错误。
  • Flutter版本未适配AGP 8.x:若使用的Flutter版本低于3.10.0,官方尚未针对AGP 8.x/Gradle 8.x做适配,自动生成的.android目录下辅助脚本会存在API调用不兼容问题。

解决步骤与成功集成经验

  • 优先升级Flutter到适配版本:执行flutter upgrade将Flutter升级至3.10.0及以上版本,该版本开始官方正式支持AGP 8.x,升级后自动生成的include_flutter.groovy脚本会适配Gradle 8.x的API规范,无需手动修改。
  • 手动修复脚本(无法升级Flutter时):若暂时无法升级Flutter,直接修改flutter_module/.android/include_flutter.groovy第4行代码:将原来的gradle.include(":flutter")(或类似直接调用Gradle实例的写法)改为project.include(":flutter"),确保调用的是Project对象的include方法。
  • 匹配Gradle wrapper版本:检查主项目的gradle/wrapper/gradle-wrapper.properties,确保distributionUrl指向与AGP 8.4兼容的Gradle版本,示例:
    distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
    
  • 验证settings.gradle配置:确保主项目的settings.gradle(或settings.gradle.kts)中正确引入Flutter模块,示例写法:
    setBinding(new Binding([gradle: this]))
    evaluate(new File(
      settingsDir.parentFile,
      'flutter_module/.android/include_flutter.groovy'
    ))
    
    注意AGP 8.x中避免使用Gradle已废弃的配置API,保持配置语法符合Gradle 8.x规范。
  • 重新同步项目:修改完成后,执行Android Studio的File -> Sync Project with Gradle Files,等待同步完成后验证错误是否解决。

内容的提问来源于stack exchange,提问作者Jim E-H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 08:39:59