问题描述
这实际上是在 Xamarin 中完成的,但从技术上讲,这并非特定于问题。
我一直在运行一个构建 CI/CD,它当前正在(使用我自己的自定义密钥)签署一个 APK 并将其部署到 App Center(它实际上构建了一个 AAB,然后从中制作了一个胖 APK 仅供参考)。
对于应用的内部每日构建,这几个月以来一直运行良好。
现在我正在将候选版本部署到 Google Play 控制台,并且我的 CI/CD 部署了 AAB 包。
第一个捆绑包是用相同的密钥签名的,据我所知,该密钥现在是 google play 的“上传密钥”,但因为我正在部署 AAB(我相信,到 8 月我们必须这样做),谷歌坚持要为我签署 AAB。
这意味着,如果我们团队中的某个人安装了内部跟踪 AAB,那么他们将无法从 AppCenter 安装更新的测试版本,因为他们的签名不同。
反正有这个吗?我可以在上传到 AppCenter 时获取 google 签名的密钥并使用它吗(我意识到我们的团队至少需要卸载旧的签名构建表单 AppCenter 才能获取更新,但从那时起就可以了)。>
理想情况下,我希望能够从 AppCenter 和 Google Play 相互安装更新,只要它们的版本在增加。
解决方法
很遗憾,无法从 Google 请求签名密钥。如果您在最初注册 Play Signing 时没有向 Google 提供签名密钥,那么您可能永远无法访问签名密钥。
但是,您可以做的是下载由 Google 签名的通用 APK(从 Play 管理中心的 Bundle Explorer),然后将其上传到 AppCenter。但我不确定今天是否有下载 API 可以在您的 CI 上自动执行此操作。
,感谢 Pierre 的回答,我没有意识到可以选择使用 pepk.jar 从现有密钥创建 Play 签名密钥
我以这种方式重新开发了该应用程序,并且它的工作安装版本是从 AppCenter 和 Google Play 相互叠加的!