【问题标题】:Google maps only a grey background as APKGoogle 仅将灰色背景映射为 APK
【发布时间】:2015-05-26 14:54:55
【问题描述】:

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

在我的本地开发环境中,当我启动运行配置以在 S3 上进行部署时,一切正常 - 地图显示正常。

但是当我将签名的 APK 部署到我们的服务器并通过 Internet 安装时(我正在尝试在另一部 android 手机上保持清晰的分隔),地图图块无法加载,我在左下方看到 Google 标志以及右上角的 GPS 位置图标。

我看过一些相关的帖子:

Android Google Maps application showing grey background instead of the map

这似乎首先有点过时,其次他使用 eclipse(我正在使用 android-studio),第三 - 它对我不起作用。

Android - Google Maps Grey Screen on Signed APK 这家伙的问题没有得到任何有用的答案....

【问题讨论】:

  • Google Maps API v2 对吗?您是否为已签名的 apk 使用了 Google 地图的生产密钥?
  • 是的,谷歌地图 API v2。嗯...虽然看不到任何生产密钥。当我进入谷歌开发者控制台时,那里只有一个密钥,“Android 应用程序密钥”——我看不到任何对生产或调试密钥的引用。那会在哪里?
  • 一个设备的API密钥在另一台设备上不起作用(如果您制作了调试API密钥),发布API密钥在所有设备上都有效,因此您必须制作一个发布API密钥

标签: android google-maps apk


【解决方案1】:

第一步是获取SHA1 值,用于使用 keytool 命令行工具对应用的发布版本进行签名。

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

~/Keystore/key1.jks 替换为您用于签署发布版本的密钥库的路径和名称,并用您自己的密码替换。

当您在命令行执行此命令时,它将列出证书指纹,包括您需要的 SHA1 值。

下一步是将SHA1 和包名添加到Google Developers Console 中的键中。

您可以将其添加到用于调试构建的同一密钥中,也可以创建一个新密钥。

要将您的版本 SHA1 和包名称添加到现有 API 密钥,请单击 Add package name and fingerprint 按钮,然后添加您的 SHA1 值和包名称。

然后,您可以将此 API 密钥与您的应用的签名版本一起使用。

有关在使用不同的 API 密钥进行调试和发布时如何配置应用的详细信息,请参阅here

【讨论】:

    【解决方案2】:

    第 1 步:按照此处的说明进行操作:

    http://developer.xamarin.com/guides/android/platform_features/maps_and_location/maps/obtaining_a_google_maps_api_key/

    第 2 步:然后在您的 Android Studio 中,按照此处描述的步骤操作:

    https://www.udacity.com/wiki/ud853/course_resources/creating-a-signed-apk

    我遇到了类似的问题,并通过上述操作解决了。

    【讨论】:

    • 谢谢彼得,我想这些链接的结果与 Nugent 的答案相同,但是让它们就在那里让我很开心,所以接受了他的回答并赞成你的回答 :)
    猜你喜欢
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2020-10-12
    • 2020-04-11
    • 1970-01-01
    相关资源
    最近更新 更多