谷歌地图APK只显示灰色背景

3

我使用android-studio和通过USB连接的Galaxy S3 android手机进行本地开发。

在我的本地开发环境中,当我启动运行配置文件以部署到S3时,一切都正常 - 地图显示得很好。

但是当我将签名APK部署到我们的服务器并通过互联网安装时(我正在另一部Android手机上尝试以保持清晰分离),地图瓦片就无法加载了。 我看到Google标志位于左下角,GPS位置图标位于右上角。

我看到了一些相关的帖子:

Android Google Maps应用程序显示灰色背景而不是地图

这个帖子似乎有些过时,他使用的是eclipse(我使用的是android-studio),并且对我没有用。

Android - 签名APK上的Google地图灰屏问题 这个人没有得到任何有用的答案...


2
Google Maps API v2 对吧?你在签名的 APK 中使用了 Google Maps 的生产密钥吗? - Jayesh Elamgodil
是的,Google Maps API v2。嗯...虽然我看不到任何生产密钥。当我进入Google开发者控制台时,只有一个键,“适用于Android应用程序的密钥” - 我看不到任何参考生产或调试密钥的地方。那应该在哪里呢? - transient_loop
一个设备的API密钥在另一个设备上无法使用(如果您使用的是调试API密钥),发布版的API密钥可以在所有设备上使用,因此您必须生成一个发布版的API密钥。 - kzs
2个回答

2

第一步是使用keytool命令行工具获取您用于签署发布版本应用程序的密钥的SHA1值。

keytool -list -v -keystore ~/Keystore/key1.jks -storepass <your_store_password> -keypass <your_key_password> 

请将~/Keystore/key1.jks替换为您用于签署发布版本的密钥库的路径和名称,并将密码替换为您自己的密码。
当您在命令行执行此命令时,它将列出证书指纹,包括您需要的SHA1值。
接下来的步骤是将SHA1和包名添加到Google开发者控制台中的一个密钥中。
您可以将其添加到用于调试构建的同一密钥中,也可以创建一个新密钥。
要将您的发布SHA1和包名添加到现有API密钥中,请单击添加包名和指纹按钮,并添加您的SHA1值和包名。
然后,您就可以使用此API密钥与已签名的发布版本的应用程序一起使用。
有关如何配置应用程序(如果您在调试和发布中使用不同的API密钥)的更多信息,请参见此处

1

谢谢Peter,我猜链接会得到和Nugent的答案一样的结果,但是把它们放在那里让我很开心,所以我接受了他的答案并点赞了你的回答 :) - transient_loop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接