【问题标题】:Execution failed for task ':app:packageReleaseBundle'. Can't build app bundle任务 ':app:packageReleaseBundle' 执行失败。无法构建应用程序包
【发布时间】:2021-05-08 03:45:14
【问题描述】:

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

java.util.concurrent.ExecutionException: java.lang.RuntimeException: jarsignerfailed with exit code 1: jarsigner:找不到证书链:密钥库。 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 文件也是红色的,但点击它会显示组成密钥的文本。

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

【问题讨论】:

  • 看起来你的颤振配置有问题。你能分享一下你的签名配置是什么样的吗?
  • 另外,谷歌搜索错误消息作为第一个链接返回:stackoverflow.com/questions/23750259/…
  • 我看到了那个链接。当我尝试使用推荐命令行时,我收到此错误:keytool 错误:java.lang.Exception:密钥库文件不存在:formconnect.keystore java.lang.Exception:密钥库文件不存在:formconnect.keystore
  • 您的意思是我的 key.properties 文件中的内容吗?
  • 这是我的 key.properties 文件中的内容: storePassword=Test*** keyPassword=Test*** keyAlias=keystore storeFile=/Users/****/Desktop/***/matto_flutter/ keystore.jks

标签: android flutter android-studio android-app-signing


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 当我将keyAlias替换为等于上传时,错误变为:任务':app:validateSigningRelease'的执行失败。 > 未找到用于签名配置“发布”的密钥库文件“/Users/****/Desktop/****/matto_flutter/android/app/upload.jks”。
    • 感谢您的帮助。当我将 keyAlias 替换为上传时,即 keyAlias,如果我将 storeFile 更改为以 /alias.jks 结尾,则会收到此错误:任务':app:validateSigningRelease'的执行失败。 > 未找到用于签署配置“发布”的密钥库文件“/Users/****/Desktop/****/matto_flutter/android/app/upload.jks”。如果我保留以 keystore.jks 结尾的密钥库文件,我会收到与以前相同的错误。
    • 文件'/Users/****/Desktop/****/matto_flutter/android/app/upload.jks'真的存在吗?看起来您只是指向一个不存在的密钥库文件。
    • 您共享的命令显示您创建的上传密钥库名为“keystore.jks”,因此您需要参考。
    • 当我使用正确的别名和以密钥库结尾的路径时,我继续收到这篇文章标题的错误。
    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 2022-06-11
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    相关资源
    最近更新 更多