Android Maps api发布密钥无效

时间:2012-05-21 23:48:33

标签: android

我查看了与此相关的所有stackoverflow问题,但没有任何效果。对不起,如果已经提出这个问题。

我将谷歌地图API集成到我的应用程序中,一切正常,在开发中。我得到了一个基于debug.keystore文件的调试api密钥,它工作得很好。

然后我继续根据我用来签署应用程序的密钥库文件获得了一个发布api密钥。然而,我所看到的只是灰色的瓷砖 - 地图不会出现。我在清单中的应用程序标记中有 uses-library 标记。我在清单中获得了互联网的许可,以及 android:debuggable =" false" (虽然这似乎没有改变任何东西)。

我还能错过什么?

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。

我是如何解决的:

为release-keystore创建一个新的(!)API密钥很重要,因为为debug keystore生成的旧API密钥不适用于release keystore。这是程序如何做到的: https://developers.google.com/maps/documentation/android/mapkey#getfingerprint

用几句话说:

  1. 为您的密钥库制作指纹(MD5),例如通过这个批处理文件:

    @echo off “c:\ Program Files \ Java \ jdk1.7.0 \ bin \ keytool.exe”-v -list -keystore my-release-key.keystore>我的释放-MD5-fingerprint.txt

    回复你的google api密钥(md5)保存到文件my-release-md5-fingerprint.txt

    暂停

  2. 转到生成APi的Google网站: http://code.google.com/android/maps-api-signup.html

  3. 将MD5指纹复制粘贴到适当的字段,如下所示 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98 (不允许额外的空格或附加符号)。

答案 1 :(得分:0)

您应该从其他链接创建一个Release键。调试密钥和释放密钥是不同的。请参阅此处了解“如何以不同方式创建调试密钥和释放密钥”:http://chocotech.blogspot.com/2012/10/get-debug-key-and-release-key-for.html

答案 2 :(得分:-1)

在MapView中,你必须指定你的ApiKey:

<com.google.android.maps.MapView
    android:id="@+id/mapView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:apiKey="@string/mapKey"
    android:layout_below="@+id/email"
    android:clickable="true"
    android:enabled="true" >
</com.google.android.maps.MapView>

其中mapKey是你ApiKey(这里我在我的字符串中定义它。)