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

Flutter构建Release版APK时Gradle任务assembleRelease失败,求解决方案

Flutter构建Release APK失败(Gradle任务assembleRelease退出码1)

先把你执行命令后的错误输出贴出来方便分析:

flutter build apk --release
您正在构建包含android-arm、android-arm64二进制文件的fat APK。如果您要将应用部署到Play Store,建议使用App Bundle或拆分APK以减小APK体积。
要生成App Bundle,请运行:flutter build appbundle --target-platform android-arm,android-arm64
了解更多:https://developer.android.com/guide/app-bundle
要按ABI拆分APK,请运行:flutter build apk --target-platform android-arm,android-arm64 --split-per-abi
了解更多:https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split
Initializing gradle... 1.2s
Resolving dependencies... 3.7s
registerResGeneratingTask已弃用,请使用registerGeneratedResFolders(FileCollection)
registerResGeneratingTask已弃用,请使用registerGeneratedResFolders(FileCollection)
registerResGeneratingTask已弃用,请使用registerGeneratedResFolders(FileCollection)
正在运行Gradle任务'assembleRelease'...
正在运行Gradle任务'assembleRelease'...
完成 140.3s (!)
Gradle任务assembleRelease失败,退出码为1

下面一步步解决问题:

先处理弃用警告(消除干扰)

那三条registerResGeneratingTask已弃用的警告,是因为Gradle相关依赖还在使用旧API,解决方法:

  • 先把Flutter升级到最新稳定版,执行命令:flutter upgrade
  • 打开android/build.gradle文件,把com.android.tools.build:gradle的版本升级到和Flutter兼容的最新版;同时打开android/gradle/wrapper/gradle-wrapper.properties,把distributionUrl里的Gradle版本也对应升级(比如插件用7.4.2,Gradle用7.5,可参考Flutter官方兼容说明)

重点解决assembleRelease失败的核心问题

退出码1是通用错误,必须查看详细日志才能定位问题。先执行这条命令获取完整日志:

flutter build apk --release --verbose

根据日志里的具体错误信息,对应以下常见场景处理:

场景1:签名配置出错

如果日志提到keystore找不到、密码错误这类签名相关内容:

  • 检查android/app/build.gradle里的release签名配置块,确保storeFile路径正确,storePassword、keyAlias、keyPassword和你生成的keystore信息一致
  • 若还没生成keystore,先执行这条命令生成:keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key,再把配置填到build.gradle里

场景2:资源重复或语法错误

日志若出现Duplicate resource或者XML编译错误:

  • 前往android/app/src/main/res目录检查,有没有同名资源文件(比如不同drawable文件夹里的同名图片)
  • 打开报错的XML文件,检查标签闭合、属性拼写这类语法问题

场景3:依赖版本冲突

如果日志提示依赖版本冲突:

  • 执行flutter pub deps查看完整依赖树,找到冲突的依赖包
  • 在pubspec.yaml里要么指定该依赖的具体版本,要么用dependency_overrides强制统一冲突版本

场景4:Release模式专属代码错误

Debug能运行但Release失败,大概率是Release模式的代码优化/混淆导致:

  • 检查代码里有没有未处理的空安全问题,或者依赖反射、动态调用的代码被优化掉了
  • 若开启了混淆,检查android/app/proguard-rules.pro,确保Flutter框架类、第三方库的必要类没被混淆(可参考第三方库文档添加混淆规则)

最后试试清理缓存的万能操作

有时候缓存混乱会导致奇怪的构建失败,先执行以下命令清理:

flutter clean
cd android
./gradlew clean
cd ..
flutter pub get

清理完再重新运行flutter build apk --release试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:44:31