【问题标题】:Google maps not show in release mode android谷歌地图不显示在发布模式android
【发布时间】:2016-06-30 09:45:37
【问题描述】:

我的谷歌地图 API 有问题。在调试模式下它工作正常。但是在发布模式下,我得到了空白地图。我试图将 SHA1 从调试密钥库更改为发布密钥库。对我的问题有什么想法吗?

【问题讨论】:

  • 这些问题一般只有在使用不同的keystore时才会出现
  • 从发布密钥库文件中生成正确的 SHA1,并在控制台中添加正确的包名。我希望它能工作。
  • 我已经从我的发布密钥库中生成了 SHA1,我得到了 SHA1 并将其放入谷歌开发人员的凭据中。但它没有用
  • 我在调试和发布之间使用不同的密钥库。但对于发布密钥库,它使用 .jks 扩展文件@RavindraKushwaha
  • 如果正确,则交叉检查您的控制台生成的代码中的 APIKEY。

标签: android google-maps


【解决方案1】:

将 apikey 添加到调试>​​res>values>google_maps_api.xml 然后添加 release>res>values>google_maps_api.xml。

然后检查它是否有效。

也许您有 2 个 google_maps_api.xml 文件,一个在 app/src/debug/res/values 文件夹中,另一个在 app/src/release/res/values 文件夹中,但只有调试文件包含您的 API 密钥.

【讨论】:

  • 它拯救了我的一天。谢谢
  • 我只是将调试中的 API 密钥复制粘贴到我的版本>res>values>google_maps_api.xml。然后我去了谷歌开发者控制台>API 管理器>凭证,并将我的发布 SHA-1 证书指纹添加到我的 api 密钥中。(在限制使用你的 Android 应用程序部分下)
【解决方案2】:

我遇到了同样的问题。你的钥匙有问题。重新生成密钥并尝试。

【讨论】:

【解决方案3】:

您是否生成了私有 api 密钥?当我创建私有 api 密钥并且我使用不同的密钥库进行构建时,它发生在我身上。

【讨论】:

    【解决方案4】:

    这是因为您使用调试密钥库为地图生成 Google API 密钥。

    (假设您使用的是 Android Studio) 执行以下步骤:

    1. 使用 .jks 文件生成 SHA 1 指纹,用于发布模式。

      一个。打开安卓工作室

      b.打开你的项目

      c。点击 Gradle(从右侧面板,您将看到 Gradle Bar)

      d。点击 Refresh(从 Gradle Bar 中点击 Refresh,您将看到 List Gradle 脚本)

      e。单击您的项目(您的项目名称表单列表) 点击任务/Android

      f。双击signingReport(运行栏会得到SHA1和MD5)

    2. 在 google_maps_api.xml 中使用此键。

    3. 同步并生成签名的 APK。
    4. 您的地图正在运行。

    【讨论】:

      【解决方案5】:

      如果有人遇到同样的问题,我会分享我的解决方案... 我正在创建一个应用程序,我终于可以发布它了。因此,我尝试在发布模式下运行,并获得了为构建变体版本设置签名配置所需的信息。一旦我这样做了,并配置了我的 proguard-rules.pro 文件,应用程序就会运行,太棒了!但地图没有显示。

      我发现人们在谈论密钥库和 SHA1 凭据结束了一切,但我还不清楚。所以我记录了我必须设置一个键才能使我的地图在构建变体调试上工作,并且一切都在一起。

      所以我了解到调试和发布使用不同的 SHA1 凭据,并且一个密钥可以有多个与之相关的凭据。 当我按照此链接https://developers.google.com/maps/documentation/android-sdk/get-api-key 设置谷歌地图的密钥时,我获得了用于调试的 SHA1 凭据,因此为了使我的地图正常工作,我必须从发布中获取我的 SHA1 凭据并将其添加到我的密钥中...

      Google Cloud Platform Console > “选择您的项目” > “单击左上角的汉堡图标” > APIs & Services > Credentials > “单击用于调试模式的凭据” > 限制对 Android 应用程序的使用> "从发布模式添加新的 SHA1 凭据"

      现在的重点是,如何从发布模式获取我的 SHA1 凭据? 如果您已经为构建变体版本设置了签名配置,您可能会得到一个 keystore.jks 文件。使用此文件,您可以通过进入 bash 并键入.. 来获取您的凭证。

      keytool -list -v -keystore YOUR.PATH.TO.THE.KEYSTORE.FILE -alias YOUR.KEYSTORE.ALIAS

      然后他们会问你密钥库密码并完成! 现在,您可以将您的 SHA1 凭据从发布模式复制并粘贴到 Google Cloud Platform Console 中的密钥。 =)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多