2

我正在制作一个使用 Google Maps API V2 的应用程序。在调试模式下构建应用程序时,使用调试键可以正常显示地图。也是如此,当我使用 Eclipse 导出功能和我的生产密钥导出应用程序时,使用以下命令在本地安装应用程序:

adb install com.package.name

但是,当我在 Play 商店中发布 apk(作为 alpha 测试)并将其下载到我的设备上时,没有显示任何地图,这让我怀疑密钥有问题。

我在 API 控制台中注册了生产密钥,并将清单中的 maps 密钥更改为新密钥,因此当我通过 ADB 安装它时它可以工作。

在从 Play 商店重新安装之前,我还卸载了该应用程序,并从 API 控制台中删除了我的调试密钥,以确保使用发布密钥(从而正常工作)。

任何帮助将不胜感激。

4

4 回答 4

1

这是一个迟到的回应,但我认为它可能会帮助其他可能遇到类似问题的人。我也正确生成了所有发布/调试密钥,并且我签名的发布 apk 上的地图通过 ADB 安装运行良好,但在上传到 Google Play 商店后就不行了。

这是我的解决方案:使用新的可选“Google Play 应用签名”功能,您的最终 SHA1 可以在您的 Google Play 控制台 -> 发布管理 -> 应用签名中找到。将应用签名证书的 SHA1 添加到 API 控制台中 API 的密钥限制列表中,您的地图应该可以正常工作。

显然,在上传之前使用我自己的密钥库(发布)生成的 SHA1 与上传到 Google Play 商店后的最终版本不同。

希望这可以帮助。

于 2017-06-27T00:44:00.593 回答
0

I fixed the problem by creating a new app and a new certificate. I don't consider this a "solution" since I did not find out what went wrong in the first place.

于 2013-09-06T11:48:52.407 回答
0

转到 google Apis 控制台并使用您的调试密钥再添加一个条目。

那么你将有一个条目:

45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2B:--等等等等生产密钥;com.package.name 45:B5:E4:6F:36:AD: 0A:98:94:B4:02:66:2B:--yada yada debug key;com.package.name

//我使用的密钥是随机的,您将让它们都为每个密钥库运行以下命令(调试和生产)

使用此命令获取密钥:

keytool -list -v -keystore mystore.keystore

tl;dr 两个键,一个用于调试,一个用于生产,两个进入 Google Api 控制台

于 2013-09-05T15:15:06.603 回答
0

基本上在谷歌地图的情况下,我们需要一个 API 密钥,它是根据密钥库的 SH1 密钥生成的。当您在本地系统上工作时,我们必须使用 Eclipse 中显示的 SH1 密钥。但是当我们签署我们的应用程序以制作一个 APK 上传到 playstore 时,我们需要编辑退出密钥并将旧的 SH1 密钥替换为新的 SH1 密钥。注意:您可以在为 Playstore 签名 APK 时获取更新的 SH1。签名时会显示密钥库文件的 SH1 密钥,您正在将其用于 Playstore 的特定应用程序。

于 2013-10-22T07:25:11.957 回答