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

Flutter构建Release APK失败:SigningConfig缺失storeFile属性

问题描述

执行flutter build apk构建Release APK失败,核心错误提示:

任务':app:packageRelease'执行失败。
执行com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable时发生失败
SigningConfig "release" 缺少必填属性 "storeFile"。

构建日志摘要:

启用严格空安全构建
字体资源"LineIcons.ttf"已被摇树优化,大小从384876字节缩减至960字节(缩减99.8%)。可通过构建时添加--no-tree-shake-icons标志禁用摇树优化。
字体资源"MaterialIcons-Regular.otf"已被摇树优化,大小从1645184字节缩减至6672字节(缩减99.6%)。可通过构建时添加--no-tree-shake-icons标志禁用摇树优化。
Gradle任务assembleRelease执行失败,退出码1

已尝试修改org.gradle.jvmargs,问题未解决。

解决方案

该错误是Release构建缺少签名配置导致,需按以下步骤完成签名配置:

  1. 生成签名密钥(无密钥时执行)
    终端运行命令(替换括号内参数):
keytool -genkey -v -keystore <密钥存储路径> -alias <密钥别名> -keyalg RSA -keysize 2048 -validity 10000

按提示输入密钥库密码、密钥密码等信息并记录。

  1. 配置签名信息到gradle文件
    打开项目下android/app/build.gradle文件:
  • 在android块内添加签名配置:
signingConfigs {
    release {
        storeFile file('<密钥存储路径>')
        storePassword '<密钥库密码>'
        keyAlias '<密钥别名>'
        keyPassword '<密钥密码>'
    }
}
  • 在buildTypes的release块中引用签名配置:
buildTypes {
    release {
        signingConfig signingConfigs.release
        // 保留原有shrinkResources、minifyEnabled等配置
    }
}
  1. 重新构建APK
    执行命令:
flutter build apk
进阶优化(敏感信息保护)

正式项目建议避免硬编码密钥信息,可通过gradle.properties存储:
在android/gradle.properties中添加:

MYAPP_RELEASE_STORE_FILE=../my-release-key.keystore
MYAPP_RELEASE_STORE_PASSWORD=你的密钥库密码
MYAPP_RELEASE_KEY_ALIAS=你的密钥别名
MYAPP_RELEASE_KEY_PASSWORD=你的密钥密码

再在build.gradle中引用:

signingConfigs {
    release {
        storeFile file(project.property("MYAPP_RELEASE_STORE_FILE"))
        storePassword project.property("MYAPP_RELEASE_STORE_PASSWORD")
        keyAlias project.property("MYAPP_RELEASE_KEY_ALIAS")
        keyPassword project.property("MYAPP_RELEASE_KEY_PASSWORD")
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:25:14