从 Test-Fairy 下载后签署 .APK 以避免 Google 服务器错误

Sign .APK to avoid Google server error, after download from Test-Fairy

我正在使用这个测试工具,Test-Fairy。它的工作方式是:我上传一个 .apk,他们做了一些更改,然后他们要求下载 .apk 文件并自己签名(以支持我自己的密钥并与 google 播放服务保持一致)。为此,我正在做通常的事情:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore debugkey.keystore App.apk android

然后zipalign -f -v 4 App.apk App_Aligned.apk

在此之后,当我使用 google 地图进入 activity 时,即使我的调试 SHA1 密钥已添加到 google 服务控制台,我的应用程序也无法正常工作。当我从 Eclipse 安装应用程序时,google 地图和所有 google 相关服务工作正常。

有人知道为什么会这样吗?我错过了任何一步吗?

备注:

答案很简单。

在 Test-Fairy 的项目设置中,有一个 SHA1(由他们创建)我需要添加到 Google API Developers Console 以及其他 SHA1 调试密钥.

现在它就像一个魅力。

我为 TestFairy 工作:)

你自己的回答也是正确的。使用 TestFairy/Android 时,您有两个选择:

一,是使用网络上传,然后我们为您的APK创建一个唯一的证书。我们必须重新签名,因为我们做了一些小改动(比如更改 AndroidManifest 文件,并自动添加我们的 SDK。)使用此方法时,您将在“构建设置”页面中看到新的 SHA1 和 MD5。文档中还有关于如何使用 Google 地图的解释。

其次,是使用我们的上传器之一:命令行、gradle 或 jenkins。这些工具(带配置)将使用您的本地密钥库,因此您保留与编译器输出相同的签名。建议使用此方法,因为它还允许您的用户从非 testfairy 构建升级到启用 testfairy 的构建。