Google 管理签名密钥是否会覆盖 signingConfigs 中的设置?

Does Manage Signing Key by Google override settings in signingConfigs?

我按照说明 here 发布了我的 Flutter 应用程序。具体来说,我创建了自己的 key.jks 文件,并从 build.gradle 中的 signingConfigs 部分适当地引用了它。当我将我的应用程序上传到 Play 管理中心时,我看到 'Manage Signing Key by Google,' 选项并选择了这个选项。这样做:

回复“覆盖签名”

这取决于您注册 Play Signing 的方式(即“通过 Google 管理签名密钥”)。

默认情况下,当您在 Play Signing 中注册新应用时,Play 会生成一个新的签名密钥,它将使用该密钥对您应用的所有 APK 进行签名。从这个意义上说,它“覆盖”了您上传到 Play 控制台的 APK 的签名,是的。在 Play 管理中心的“应用签名”页面中,您可以找到与该密钥(及其 MD5、SHA1、SHA256)关联的证书,以防您需要将其提供给某些 API 以使这些 API 正常工作。

在这种情况下,您签署 APK 所用的密钥称为“上传密钥”:它仅供 Play 用于验证您签署的工件。您的最终用户得到的是 re-signed 带有“应用签名”密钥(Google 生成)的 APK。

当您首次注册时,还有一个适用于新应用的高级选项,您可以在其中提供 Play 用于签署 APK 的密钥。在这种情况下,Play 将使用您提供的密钥对它提供给用户的 APK 进行签名。

对于“现有”应用(即在注册 Play Signing 之前已经上传 APK 的应用)注册 Play Signing,别无选择,只能提供当前用于签署 APK 的密钥(因为用户必须始终收到一个使用相同密钥签名的 APK)。

本文档中解释了很多内容:https://support.google.com/googleplay/android-developer/answer/7384423

回复:如果你丢失本地key.jks

如果您已经注册了 Play Signing 并且丢失了密钥库,那么您的用户不会受到任何影响。您必须要求 Google 重置您的上传密钥库(在证明您的身份后),以便您可以继续上传 APK 或 App Bundle,但 Play 仍将持有用于签署提供给您用户的 APK 的密钥,因此您的用户不会有任何变化,他们会照常看到更新。