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

Flutter项目将Gradle从6.7升级至8是否可行?遇构建报错求助

Flutter项目从Gradle 6.7升级到Gradle 8:可行性、难度及报错解决

可行性与升级难度

  • 完全可行,升级难度分两种情况:
    • 项目依赖少、无复杂自定义Gradle配置:难度低,按标准流程即可完成。
    • 项目有大量自定义Gradle逻辑、老旧第三方插件:需处理兼容性问题,难度稍高,但仍可通过调整配置、升级插件解决。

针对报错的解决方法

你遇到的Cannot run Project.afterEvaluate(Closure) when the project is already evaluated报错,核心原因是当前Flutter 3.7.12版本与Gradle 8不兼容——旧版Flutter的Gradle工具脚本(即报错中的flutter.groovy)使用了Gradle 8已禁止的API调用逻辑。

解决步骤:

  1. 升级Flutter到支持Gradle 8的版本
    Flutter 3.10及以上稳定版官方支持Gradle 8.x,直接升级到最新稳定版:

    flutter upgrade
    
  2. 同步Gradle与AGP版本
    升级Flutter后,更新Android端Gradle配置:

    • 修改android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl为Gradle 8.x版本(示例为8.0.2,可根据Flutter对应版本调整):
      distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip
      
    • 修改android/build.gradle中com.android.tools.build:gradle的版本,确保与Gradle版本匹配(Gradle 8.0对应AGP 7.4.0+,示例为7.4.2):
      dependencies {
          classpath 'com.android.tools.build:gradle:7.4.2'
          // 其他依赖...
      }
      
  3. 检查并更新第三方插件
    排查pubspec.yaml中的第三方插件,确保其版本支持Gradle 8与新版Flutter,老旧插件需升级到最新兼容版本。

  4. 清理缓存并重新构建

    flutter clean
    cd android
    gradlew clean  # Windows系统
    # ./gradlew clean  # macOS/Linux系统
    flutter run
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 19:49:55