【问题标题】:After exporting apk the Google Maps do not show in application. Why does it happen?导出 apk 后,Google 地图不会显示在应用程序中。为什么会这样?
【发布时间】:2013-06-07 07:11:18
【问题描述】:

我正在使用 Google Maps V1 API 密钥。如果我从 bin 文件夹中获取 apk,Google 地图将显示在应用程序中。但是,如果我导出项目并部署导出的 apk,则谷歌地图不会显示在应用程序中。如果有人知道原因,请分享您的想法。谢谢。

【问题讨论】:

  • 如果您的 apk 使用不同的密钥签名(生产与调试),您需要使用不同的 api 密钥
  • 你能详细说明一下吗?
  • 在下面的答案中详细说明
  • 这是由于您在 google 上添加了 debug SHA1 密钥(SHA-1 证书指纹),所以请为 release 模式创建 SHA1 并将其放在 google(SHA-1 证书指纹)上,了解更多信息请观看此视频如何创建 SHA1 以供发布 youtu.be/g75cZXjmuj8

标签: android google-maps


【解决方案1】:

当您在本地开发和运行应用程序时,实际上是在使用调试密钥对其进行签名。

导出时,您使用不同的生产密钥对其进行签名。

Google 地图要求您的 api 密钥与您签署应用程序时使用的密钥相匹配。因此,根据您的 apk 是通过调试密钥(从“bin”复制)还是生产(导出)制作的,您将需要 2 个不同的 api 密钥。

当您导出应用时,您遇到的情况是,密钥与 Google Maps API 认为的不匹配,因此无法正常工作。

阅读有关签名应用程序的更多信息here。

【讨论】:

  • 我仍然无法在我的应用程序中看到地图。是V1 api key的问题吗?
  • @Arun 我不确定,但谷歌地图 v1 已于 2012 年 12 月弃用。如果是我,我会使用最新的 API。
  • 此外,您似乎无法再获得 V1 的新 API 密钥,所以我不确定您如何针对生产密钥进行测试...
  • 我无法获得生产密钥。如果您有任何有关如何获取生产密钥的步骤,请与我分享。在 v2 中,我也遇到了同样的问题。
【解决方案2】:

请按照以下步骤获取版本SHA1

  1. 找到您在创建签名 apk 时使用的 .jks 路径。

    例如: /Users/dharm/Documents/Android/test.jks

  2. 复制你的 jks 文件名并放在第 3 行的末尾

    例如: test.jks

  3. 打开你的终端并输入这个命令keytool -list -v -keystore "keystorepath" -alias "keyalias"

    例如: keytool -list -v -keystore /Users/dharm/Documents/Android/test.jks -alias test

  4. 当您按下回车键时,它会要求您输入 输入密钥库密码。所以请输入您的密钥库密码。

  5. 如果您成功完成所有步骤,那么您将获得此证书(密钥库)的全部信息。

    例如:

    MD5: D2:52:A1:7C:14:9F:D5:DD:64:35:E2:3F:74:CA:C5:E7

    SHA1: D3:32:AA:09:81:71:50:D2:47:20:43:B2:13:A2:D5:55:4B:A7:DC: 3C

    SHA256: 27:8A:84:C5:C3:CE:98:47:A7:73:E2:87:91:5E:5A:A2:F4:B8:D4:D4:0E

  6. 现在您可以将此 SHA1 密钥放在 Google 控制台上 (SHA-1 certificate fingerprint)。

希望对你有帮助。

视频请看一下

https://www.youtube.com/watch?v=g75cZXjmuj8&feature=youtu.be

【讨论】:

【解决方案3】:

我直接把key放在manifest里面就开始工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多