问题描述
我已经使用提供的“ App Tester” Android应用在我们的项目上设置了Firebase App Distribution,这非常了不起。尽管我确定了一个重大问题,并且我知道很多人正在使用此工具,但据我所知,实际上没有人知道其背后的原因。
问题是:我从Play商店下载了我的应用。然后,我在Firebase App distribution上部署新版本的应用程序进行测试,转到App Tester,单击我的应用程序,然后单击安装。我收到错误“安装失败”,没有更多详细信息。要解决此问题,我必须从手机上卸载该应用程序,然后再次单击“安装”以成功安装。
其背后的原因是Android不允许已签名的APK由使用其他密钥签名的另一个APK更新。
我从Play商店下载的APK由我的CI签名,但随后又由Play商店使用其signing feature签名(可以启用/禁用我知道的APK,但我希望使其保持启用状态) 。 Play商店用来再次签名我的APK的密钥是私人的,没有人可以访问它。
但是我在Firebase App Distribution with Fastlane上上传的APK是由我的CI而非Play商店签名的。因此关键是不同的,这就是App Tester无法安装该应用程序的原因。
我是否可以告诉Firebase使用Play商店使用的密钥执行退出我的APK的相同过程?每当我以前在Play商店中安装应用程序时,都会很烦人。更重要的是,这对我公司的测试人员来说很烦,他们不了解他们为什么会收到此错误并且不知道该怎么办...
解决方法
问题:您使用应用分发版与测试人员共享的应用是否具有与Playstore上的应用ID相同的应用ID(例如com.xyz.abc)?
在单个设备上不能有两个签名的应用程序具有相同的应用程序ID。 解决方案之一是将开发应用程序ID更新为与生产应用程序ID不同。
例如。
生产应用ID-com.xyz.abc
开发应用程序ID-com.xyz.abc-dev
这还将使两个应用程序共存于同一设备上。