GooglePlay 的应用签名会重置我的应用程序吗?

Will App-Signing by GooglePlay reset my Application?

我在 Play 商店中已有一个应用程序,但仍未通过 google play 选择加入应用程序签名。

最近我们打算使用 AppBundle,但这需要 google play 的应用程序签名才能打开。

因为我们负担不起注销用户的费用,我们将他们的 accessToken 存储在 SharedPreference 中;在现有用户设备上的迁移过程中,有一个特别的问题让我担心:

  1. 由于新的 apk 将使用不同的密钥签名,这是否意味着,如果我的应用程序在 AndroidManifest.xml 中定义了 androidBackup="false",用户将失去所有本地存储文件(sharedPref、数据库等)?如果不是,google 是如何防止这种情况发生的?

  2. 我们通过设置包名称和签名密钥 SHA-1 配对来限制我们的 Google 云 API 的使用。这是否意味着我只能在发布到 Playstore 后才能找出新的签名密钥?

当您注册 App Signing by Google Play 时,系统会要求您上传您的私钥(已加密),以便 Play 可以代表您签署 APK使用 相同的密钥 。因此,您的最终用户不会有任何区别,他们将收到使用相同密钥签名的 APK,因此备份不会受到影响。

这也应该回答你的第二个问题:没有 new 签名密钥,它仍然是一样的,因此不需要更改证书的 SHA-1 .

注意:系统会提示您选择性生成的新 "upload key" 是 App Bundle 将使用其签名的密钥,但您的最终用户永远不会看到使用该密钥签名的任何 APK。建议使用与您的应用签名密钥不同的上传密钥,这样您就可以将您的应用签名密钥保存在保险箱中(泄露可能会造成非常糟糕的后果),同时可以使用 Google 轻松重置上传密钥如果你 lose/leak 它。

希望对您有所帮助!