我查看了与此相关的所有stackoverflow问题,但没有任何效果。对不起,如果已经提出这个问题。
我将谷歌地图API集成到我的应用程序中,一切正常,在开发中。我得到了一个基于debug.keystore文件的调试api密钥,它工作得很好。
然后我继续根据我用来签署应用程序的密钥库文件获得了一个发布api密钥。然而,我所看到的只是灰色的瓷砖 - 地图不会出现。我在清单中的应用程序标记中有 uses-library 标记。我在清单中获得了互联网的许可,以及 android:debuggable =" false" (虽然这似乎没有改变任何东西)。
我还能错过什么?
答案 0 :(得分:0)
我遇到了同样的问题。
我是如何解决的:
为release-keystore创建一个新的(!)API密钥很重要,因为为debug keystore生成的旧API密钥不适用于release keystore。这是程序如何做到的: https://developers.google.com/maps/documentation/android/mapkey#getfingerprint
用几句话说:
为您的密钥库制作指纹(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
暂停
转到生成APi的Google网站: http://code.google.com/android/maps-api-signup.html
将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(这里我在我的字符串中定义它。)