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

Flutter运行release模式报错:找不到未知属性'keystoreProperties'

问题核心原因
  • 变量声明顺序错误:你把keystoreProperties变量的定义和加载逻辑写在了android配置块的后面,Gradle是按从上到下的顺序执行代码的,当解析到signingConfigs配置时,keystoreProperties还没被定义,所以直接报未知属性错误。
  • 签名配置的键名取值错误:你在signingConfigs中写的keystoreProperties['key password']这类写法不对,要和key.properties里定义的键名完全对应。
  • Android Studio提示属性未使用就是因为前面的配置没能正确关联到key.properties里的属性,属于顺序错误导致的连锁问题。
修复步骤
  1. 调整keystoreProperties的定义位置,把这部分代码移动到android配置块的前面,放在apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"这行之后即可:
// 原来的其他代码...
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

// 把keystoreProperties相关代码移到这里
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()){
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    // 原来的android配置内容...
}
  1. 修正signingConfigs里的属性取值,要和key.properties的键名完全匹配:
signingConfigs{
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
}
  1. 确认你存放签名配置的文件名是key.properties,放在项目android目录下(和local.properties同目录),没有拼写错误。

修改完成后重新构建项目即可正常运行。

内容的提问来源于stack exchange,提问作者Moh Say 21

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:06:05