我正在使用这个测试工具,测试精灵。它的工作方式是:我上传一个.apk,他们做了一些更改,然后他们要求下载回.apk文件并签名(以支持我自己的密钥并与谷歌播放服务保持一致)。为了做到这一点,我正在做通常的事情:
jarsigner-verbose-sigalg SHA1 with RSA-destisalg SHA1-keystore debugkey.keystore App.apk android
然后ziplign-f-v 4 App.apk App_Aligned.apk
在这之后,当我使用谷歌地图进行活动时,即使我的调试SHA1密钥被添加到谷歌服务控制台,我的应用程序也无法正常工作。当我从Eclipse安装应用程序时,谷歌地图和所有与谷歌相关的服务都运行良好。
有人知道为什么会发生这种事吗?我缺了一步吗?
注意:
-
我试着从JDK1.7和JDK1.6中使用jarsinger,但都不起作用。
-
我还尝试使用release.keystore进行签名,我使用release/keystore从Eclipse进行签名以生成Production.apk,它以这种方式生成也非常完美。
我为TestFairy工作:)
你自己的答案也是正确的。当使用TestFairy/Android时,您有两个选项:
一是使用网络上传,然后我们为您的APK创建一个唯一的证书。我们必须重新签名,因为我们做了一些小的更改(比如更改AndroidManifest文件,并自动添加我们的SDK。)使用此方法时,您将在"构建设置"页面中看到新的SHA1和MD5。文档中还解释了如何使用谷歌地图。
第二,是使用我们的一个上传程序:命令行、gradle或jenkins。这些工具(带配置)将使用您的本地密钥库,因此您可以保留与编译器输出相同的签名。推荐使用此方法,因为它还可以让您的用户从非testprince版本升级到启用testprince的版本。
答案很简单。
在Test-Fairy中,在Project设置中,有一个SHA1(由他们创建),我需要将其与其他SHA1调试密钥一起添加到Google API Developers Console中。
现在它就像一个符咒。