【问题标题】:Google Maps not working in derived apk (published app)谷歌地图在派生的 apk 中不起作用(已发布的应用程序)
【发布时间】:2017-11-19 20:27:00
【问题描述】:

好的,我想先说明我已经尝试了多种解决方案,例如:

Android Studio - Google map still blank on real Android device

Android Google Maps API in Release not working

我已尝试获取 SHA1 指纹,并将这些“限制”添加到 Google Developer Console API 凭据中。

还尝试将 API 硬编码到清单中(找不到推荐这个的链接)。

此时,我已将范围缩小到以下可能的问题:

1) 我正在使用的密钥库在检查时有以下行

签名算法名称:SHA256withRSA

我注意到许多解决方案都谈到了 SHA1withRSA。 但由于这需要创建一个新的密钥库,而我必须为此创建一个全新的应用程序,所以我避免了这个结论。

2) 我还注意到上传到 Play 控制台的原始 APK 确实有效。 但是派生的 APK(我假设是上传到 Play 商店的那个)不起作用。

3) Google Developer Console中的API库没有专门的

“谷歌地图 Android API v2”

它只显示“Google Maps Android API”。我认为这不应该是问题。

澄清一下,问题是我的应用中的地图是空白的。

【问题讨论】:

  • 是 SHA 密钥调试还是发布?
  • @HUSTLE 发布。我注意到在一些 Android 教程中他们使用了调试密钥,但我已经知道使用发布密钥。我不确定为什么教程会显示这个。
  • 您可以在 Google API 控制台或 Firebase 中同时使用 SHA 调试和发布密钥,很高兴您解决了您的问题。

标签: android google-maps google-play-console


【解决方案1】:

对于派生apk google 介绍App 唱歌功能。 Google 为您签署 apk 协议,因此您必须获取 App Sigining 证书的 SHA1 并将其设置到 Google Cloud Platform(您设置包名称和 SHA1 的位置)

你会发现 SHA1 密钥的不同。

此功能的主要目的是,由 google 本身提供安全性,如果您丢失了密钥存储,那么您将很好地处理这种情况。

查看此链接:

https://support.google.com/googleplay/android-developer/answer/7384423

官方博客:

https://android-developers.googleblog.com/2017/09/enroll-for-app-signing-in-google-play.html

【讨论】:

【解决方案2】:

好的,我刚刚解决了(在 13 分钟前发布此帖子后)。

所以在实施了这个解决方案之后

Android Studio - Google map still blank on real Android device

当我从手机运行 apk 时,我注意到我的 Android 监视器中出现此错误:

Android Application (<cert_fingerprint>;<package_name>): <what I assume is a SHA1 fingerprint>;<my_package_name>

所以我只是复制了 SHA1 指纹,将其添加到 API 凭据限制中并保存了它。几分钟后,再次运行该应用程序,它就可以工作了。

无需重新上传/更新 apk。

希望这对其他人有所帮助。

【讨论】:

    【解决方案3】:

    如果您想将应用发布到 Play 商店,我们需要从 Google Play Console 中的 App sinning 获取 SHA-1 证书指纹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 2017-12-17
      • 2014-08-20
      • 1970-01-01
      • 2017-11-26
      相关资源
      最近更新 更多