当前位置: 首页 > 知识库问答 >
问题:

无法通过fastlane使用Google Play应用程序签名将android捆绑包上传到Google Play

益兴生
2023-03-14

我们在Google Play中发布了一些应用程序,它们都使用相同的密钥库签名。去年,我们转向了应用捆绑包,通过Google Play实现了签名。手动签名和上传捆绑包时,一切都正常。虽然当我尝试通过fastlane将捆绑包上传到Google Play时,它给了我一个错误:

Google Api Error: apkNotificationMessageKeyBundleSignedWithWrongKey: The Android App Bundle was signed with the wrong key. Found: SHA1:...., expected: SHA1:......

如果我上传同样的。aab手动,一切正常。我该怎么办?我想是Google Play签约的事情。我不想打破任何东西,因为我只是一个开发者,而不是帐户所有者。我可以在不破坏现有密钥库的情况下生成新的密钥库吗?

编辑:在谷歌控制台的应用程序签名选项卡上,我可以下载upload_cert.der和deployment_cert.der

共有3个答案

东门晓博
2023-03-14

您无法恢复丢失的密钥库,但可以在playstore上替换密钥库,您只需在play store控制台上启用google play应用程序签名即可在play store上替换新的密钥库认证。然后您可以更新您的应用程序,无需从play Store中删除您的应用程序即可更新您的应用程序。现在可以了,2017年5月之后,如果您丢失了密钥库或密钥库密码,您可以更新您的应用程序。您可以使用新的密钥库文件更新您的应用程序,请参考此博客

https://support.google.com/googleplay/android-developer/answer/7384423?hl=en

  1. 按照Android Studio帮助中心中的说明生成新密钥。它必须不同于以前的任何键。或者,您可以使用以下命令行生成一个新密钥:keytool-genkeypair-alias upload-keyalg RSA-keysize 2048-validity 9125-keystore keystore.jks此密钥必须是2048位RSA密钥,有效期为25年

2.将该密钥的证书导出为 PEM 格式:keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

3.回复此电子邮件并附上upload_certificate.pem文件。

乔宏峻
2023-03-14

我意识到我没有在fastlane supply命令中指定package_name参数,所以它尝试将捆绑包上传到错误的应用程序。我真傻。

对于那些可能感兴趣的人,我联系了Google支持部门,他们建议我重置应用程序的密钥。但毕竟没有必要

陈增
2023-03-14

通过API或通过Play Console UI对签名密钥的验证是相同的,因此您可能不会手动和通过fastlane上传相同的文件。

确保使用相同的密钥库文件(和相同的密钥别名)在快速通道中对 App Bundle 进行签名。

 类似资料:
  • 我刚刚开始使用应用程序包。我已经在仪表板的部分设置了两个证书(签名证书和上载证书)。 我已经构建了一个应用程序包,并用上传证书签名,但是当我在下上传包时(这实际上是我切换到应用程序包的原因),它说:

  • 我正在使用AWS JAVA SDK自动调用设备场。我已经成功地创建了project、创建了upload并生成了S3预签名url,但现在我必须使用这个预签名url发送IPA文件。 这是我的代码,请让我知道我做错了什么。我认为我没有以正确的方式将文件发送到服务器。请共享使用预签名url发送文件的代码示例。我已经尝试了许多不同的方法将文件发送到设备场。 任何帮助将不胜感激。

  • 我想用一个新的应用程序包更新我在Play Store上的应用程序(以前我上传APK)。但是当我试图用我用来签名APK的密钥生成签名应用程序包时,Android Studio给我的消息Keystore被篡改,或密码不正确。如何生成签名的应用程序包,以便将其上传到播放控制台? 我表演了清洁 用我用来上传APK的现有密钥生成应用程序捆绑包时,会出现以下错误: 使用此堆栈跟踪: 我如何解决这个问题,我遗漏

  • 我尝试使用签名URL将文件上传到我的谷歌云存储。 我已经使用gsutil在我的bucket上设置了CORS参数 浏览器向Django后端发送ajax请求以获取签名URL Django后端向GCS发出请求,以便创建签名URL 签名的url将发送回浏览器。 我尝试在Ajax中使用此签名url将视频文件(内容类型=“video/mp4”)上载到GCS 对GCS返回状态代码200的请求 最后但并非最不重要

  • 问题内容: 我已经为OS X编写了Java SWT应用程序,将其导出为.jar并将其捆绑到.app中。除了我的应用程序中的关键部分之外,其他所有功能都按预期工作。它需要打开其他应用程序。 我试过,以及要做到这一点,调用命令的其他应用程序,我需要对发布。从Eclipse或通过Terminal启动导出的.jar时,这都可以正常工作。但是,通过双击.app启动时,它不起作用。 我想知道这是我的错误,还是

  • Instagram最近改变了他们的API政策,允许开发者通过自己的应用程序将图片发布到Instagram平台。我们以前使用的几种其他技术来实现这一目标。其中之一是调用Instagram应用程序,该应用程序基本上可以打开Instagram并在那里进行共享。关于如何做到这一点的教程可以在这里看到:如何从你自己的iOS应用程序分享图像到Instagram 然而,有几个应用程序允许直接共享到Instagr

  • 一个简短的说明,我正在使用Laravel媒体库包,如果这有什么不同的话。 到目前为止,我所做的是研究这个问题,我读到我需要使用FormData(),我以前从未使用过它,我有几个问题,我需要将所有数据放在对象中并将其提供给Axios吗?还是我只需要它拍照片?我还没有尝试做这两件事中的任何一件,任何指导都将非常感谢。

  • 检测到JavaFX Ant API版本1.3结果:1 init:deps clean:正在更新属性文件:D:\softphone\build\build clean。属性删除目录D:\softphone\build clean:deps jar: 创建dir: D:\softphone\build 正在更新属性文件:D:\softphone\build\build jar。性质 已创建目录:D:\