Google地图未在发布模式android中显示

时间:2016-03-15 05:04:14

标签: android google-maps

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

5 个答案:

答案 0 :(得分:15)

将apikey添加到debug> res>值> google_maps_api.xml 然后添加发布> res>值> google_maps_api.xml。

然后检查它是否有效。

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

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

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

    一个。打开Android Studio

    湾打开你的项目

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

    d。单击Refresh(单击Refresh from Gradle Bar,您将看到项目的List Gradle脚本)

    即单击您的项目(您的项目名称表单列表) 单击Tasks / Android

    F。双击signingReport(您将在运行栏中获得SHA1和MD5)

  2. 在google_maps_api.xml中使用此密钥。

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

答案 4 :(得分:0)

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

我发现人们在谈论密钥库和SHA1凭证结束了所有事情,但我还不清楚。因此,我记录到必须设置一个密钥才能使我的地图在构建变体调试中工作,并且所有东西都放在一起。

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

Google Cloud Platform控制台>“选择项目”>“单击左上角的Hamburger图标”> API和服务>凭据>“单击用于调试模式的凭据”>限制对Android应用的使用>“从发布模式添加新的SHA1凭据”

现在的重点是,如何从发布模式获取SHA1凭据? 如果您已经设置了版本变体版本的signingConfigs,则可能会得到一个keystore.jks文件。有了这个文件,您可以通过进入bash并输入凭据来获取证书。

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

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