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

Flutter无法生成APK,Release打包提示签名配置未设置Keystore文件

Flutter Release打包签名错误解决方案

出现该报错是因为Debug模式默认使用Android SDK自带的测试签名文件,Release模式需要手动配置正式签名信息,按以下步骤操作即可解决:

步骤1:生成正式签名Keystore文件

根据你的操作系统执行对应命令:

  • Windows系统命令:
    keytool -genkey -v -keystore C:\Users\你的用户名\release-key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias release-key
  • macOS/Linux系统命令:
    keytool -genkey -v -keystore ~/release-key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias release-key

执行命令后按提示设置密钥库密码、别名密码、个人信息即可,请妥善保存设置的密码和生成的jks文件,不要将jks文件提交到公共代码仓库。如果提示keytool命令不存在,需要先配置Java JDK的环境变量。

步骤2:配置密钥属性文件

在Flutter项目的android目录下新建key.properties文件,写入以下内容:

storePassword=你设置的密钥库密码
keyPassword=你设置的别名密码
keyAlias=release-key
storeFile=你的keystore文件绝对路径(Windows路径需要双写反斜杠,示例:C:\\Users\\xxx\\release-key.jks;macOS示例:/Users/xxx/release-key.jks)

该文件包含敏感信息,建议加入.gitignore避免提交到代码仓库。

步骤3:修改Gradle配置

打开项目android/app/build.gradle文件,修改对应配置:

  1. 在android代码块上方添加密钥读取逻辑:
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    // 此处保留原有android块的内容不要修改
  1. 找到signingConfigs代码块,修改为如下内容:
signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
}
  1. 找到buildTypes代码块,确认release配置引用了正式签名:
buildTypes {
    release {
        signingConfig signingConfigs.release
        // 此处保留原有release配置的其他内容不要修改
    }
}

步骤4:重新执行打包命令

flutter build apk --release

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:48:00