Google Play App Signing - 如何验证本地密钥库是否正确?

Google Play App Signing - how to verify if the local keystore is correct?

我在 Google Play 管理中心发布了一个 aab 格式的应用程序。 如何验证本地密钥库与上传到 Google Play 控制台的密钥库是否正确?

这是正确的吗? Google Play 管理中心 > 发布管理 > 应用签名 > 上传证书 证书指纹有3种:MD5、SHA-1和SHA-256。

它们都与本地密钥库文件的指纹匹配。 本地密钥库是否正确?

如果是,我不知道为什么我不能更新我的应用程序。 PlayStore 中发布的版本代码为3。所有三个工件 1 2 3 在 Play 管理中心都是 aab。 在本地,我有:1.apk1.aab2.apk2.aab3.aab 但不是 3.apk

测试 1(正常):来自 1.apk > 2.apk > 4.apk 的更新有效。

测试 2(正常): 版本 3Beta 然后传递给 Production 是从 Play 管理中心下载的。 通过使用 bundletool3.aab > apks > 在新的 phone 上安装 > 更新到本地文件 4.apk 工作。

测试 3(失败): 新 phone > 从 Play 商店安装 3 > 无法更新到 4.apk App not installed(我们正在测试的版本)??? 这怎么可能?

谢谢。

来自 adb 日志的更新 2: installd: Couldn't opendir /data/app/vmdl544123587.tmp: No such file or directory Failed to delete /data/app/vmdl1822356369.tmp: No such file or directory

更新 3:apk 文件由 android 块中的 signingConfig 字段签名。

更新 4: 来自另一个phone: installd: Couldn't opendir /data/app/vmdl2014632873.tmp: No such file or directory Failed to delete /data/app/vmdl2014632873.tmp: No such file or directory

尝试在某些 OS 版本的设备和其他 OS 版本 apk/aab 很容易安装。

问题是您在构建签名 apk 时使用的签名版本

同时检查 V2(完整 APK 签名)V1 Jar 签名,然后您将能够成功安装签名的 apk/aab 在您以前无法使用的设备上。

示例: 在装有 Android 4.4.2 的 Galaxy S4 mini 上,如果您忘记勾选 "V1 signature",应用程序将无法运行安装在设备上。检查 V1 后,安装 apk。

有:

  • 应用签名密钥 (1) - 由 Google 管理,无法访问
  • 上传密钥 (2) - 由我们管理

如果我们使用 Google Play 的 App Signing,则 (1) 可能与 (2) 不同,导致我们使用 (2) 签署应用程序时出现 App not installed 问题。

(2) 因为它的名字只适用于 uploading。 您可能有 (1) 和 (2) 个完全相同的对象。

使用指纹验证密钥是否正确。

我的问题是:第一次我没有意识到 Play Console 生成了另一个用于签名的密钥 (1) 而不是密钥 (2)。

如果您不上传 (1),则无法在本地(没有 Play 管理中心)将其下载到 sign/test。我们必须使用 Play Console 来测试版本更新。