4

我已经使用提供的“App Tester”android 应用程序在我们的项目上设置了Firebase App Distribution ,这非常棒。尽管我发现了一个我知道很多使用此工具的人都在经历的主要问题,并且从我所看到的情况来看,实际上没有人知道其背后的原因。

问题是:我从 Play 商店下载我的应用程序。然后我在 Firebase App Distribution 上部署我的应用程序的新版本来测试它,转到 App Tester,单击我的应用程序并单击安装。我收到错误“安装失败”,没有更多详细信息。要解决此问题,我必须从手机中卸载该应用程序并再次单击安装才能成功安装。

这背后的原因是 Android 不允许一个签名的 APK 被另一个使用不同密钥签名的 APK 更新。

我从 Play 商店下载的 APK 由我的 CI 签名,然后由 Play 商店使用他们的签名功能再次签名(我知道可以启用/禁用它,但我更喜欢保持启用它)。Play 商店用来再次签署我的 APK 的密钥是私有的,没有人可以访问它。

但是我使用 Fastlane 在 Firebase App Distribution上上传的 APK是由我的 CI 签名的,而不是 Play 商店。所以关键是不同的,这就是 App Tester 安装应用程序失败的原因。

我不能告诉 Firebase 使用 Play Store 使用的密钥执行相同的流程来为我的 APK 签名吗?每当我以前从 Play 商店安装我的应用程序时,卸载它真的很烦人。更重要的是,对于我公司的测试人员来说,他们不明白为什么会出现这个错误并且不知道该怎么做,这很烦人......

4

1 回答 1

0

问题:您使用应用程序分发与测试人员共享的应用程序是否与 Playstore 上的应用程序具有相同的应用程序 ID(例如 com.xyz.abc)?

在单个设备上不能有两个具有相同应用程序 ID 的签名应用程序。解决方案之一是将开发应用程序 ID 更新为与生产应用程序 ID 不同。

例如。
生产应用 ID - com.xyz.abc
开发应用 ID - com.xyz.abc-dev

这也将使两个应用程序能够在同一设备上共存。

于 2020-09-12T09:26:28.890 回答