任务“:app:packageReleaseBundle”执行失败无法构建应用程序包

问题描述

当我尝试使用 flutter build appbundle 构建 .aab 文件但失败时,我得到了下面的标题和文本:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: jarsignerfailed with exit code 1 : jarsigner:找不到证书链:keystore。 keystore 必须引用包含私钥和相应公钥证书链的有效 KeyStore 密钥条目。

我不得不重置我的签名密钥。谷歌开发人员支持让我使用以下命令行生成一个新的 .jks 文件,我从我的项目文件夹中运行该文件:

keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

然后他指示我使用以下命令将此文件转换为 .pem 文件:

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks 

然后我通过电子邮件向他发送了 upload_certificate.pem 文件。我立即注意到侧栏中的 keystore.jks 文件是红色的,点击它后我得到了这个:

“文件‘keystore.jks’未与任何文件类型关联。请定义关联:”

.pem 文件也是红色的,但点击它会显示构成密钥的文本。

我是否需要再次重置签名密钥并做一些不同的事情?有没有办法解决导致此错误的问题?

解决方法

尽管这听起来很愚蠢,但我花了 24 小时在这上面,我所要做的就是输入 flutter clean

,

您的 key.properties 中有 keyAlias=keystore,而您创建的别名看起来像是命名为 upload(参见您的 keytool export 命令)。

替换为 keyAlias=upload,如果您的密码正确,这应该可以工作。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...