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

Flutter构建Release APK失败,Jar.destinationDir方法签名不匹配求助

解决Flutter构建Release APK时的Jar.destinationDir()方法不存在错误

问题原因

报错核心是Flutter SDK版本与Gradle版本不兼容:你使用的Flutter 3.3.7的flutter.gradle脚本仍在使用Gradle旧API destinationDir(),而Gradle 8.0+已将该API替换为destinationDirectory.set(),导致方法签名不匹配,无法创建打包任务。

解决方案

提供两种可行方案,按需选择:

方案1:降级Gradle到Flutter 3.3.7兼容的版本

  1. 修改android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
    
  2. 确认android/build.gradle中的Android Gradle Plugin版本与Gradle匹配(当前配置已为7.4.2,无需修改):
    classpath "com.android.tools.build:gradle:7.4.2"
    
  3. 执行命令清理缓存并重新构建:
    flutter clean
    flutter pub get
    flutter build apk --release
    

方案2:升级Flutter SDK到适配Gradle 8.0的版本

  1. 升级Flutter到稳定版(至少3.7.12+,该版本及以上已适配Gradle 8.0):
    flutter upgrade
    
  2. 执行清理和构建命令:
    flutter clean
    flutter pub get
    flutter build apk --release
    

额外环境问题修复

从flutter doctor -v结果看,还有两个问题需处理以避免后续异常:

  • 修复Dart路径冲突:将Flutter SDK的bin目录(D:\programs\flutter_windows_3.3.7-stable\flutter\bin)移到系统环境变量Path最前端,确保使用Flutter内置的Dart版本。
  • 接受Android许可证:执行flutter doctor --android-licenses,按提示接受所有许可证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:53:17