为什么我无法在 Flutter 中构建签名包版本?

问题描述

我试图通过运行 Flutter build appbundle --releaseflutter doc 的帮助下制作应用程序包,但我总是收到此错误

任务“:app:validateSigningrelease”执行失败。 密钥库文件 'C:\Users\MY_NAME\FlutterProjects\gym\android\app\Users\MY_NAME\key.jks' 未找到用于签署配置“发布”。

我已经尝试了许多其他人herehere 和许多其他人回答的方法,但没有一个我有帮助。

我用这个命令来构建密钥库

C:\Program Files\Android\Android Studio\jre\bin\keytool -genkey -v -keystore C:\Users\MY_NAME\FlutterProjects\gym\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key

和保存在该路径 C:\Users\MY_NAME

中的文件

我的 build.gradle 看起来像这样:

...


def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('app/key.properties')
if (keystorePropertiesFile.exists()) {
   keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

...

 signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
        }
    }

...

signingConfig signingConfigs.release

P.S:我什至将 key.properties 文件放在 /android/android/app 下,属性如下 但结果与上述错误相同

storePassword=MY_PWD
keyPassword=MY_PWD
keyAlias=key
storeFile=/Users/MY_NAME/key.jks

解决方法

尝试在 key.properties 文件中提供完整路径。即

storePassword=MY_PWD
keyPassword=MY_PWD
keyAlias=key
storeFile=C:/Users/MY_NAME/key.jks