地图磁贴只能加载发布证书android吗?

时间:2012-10-23 11:40:31

标签: android maps tile

我已经检查了很多关于未在Android设备上加载的地图图块的问题。我无法解决我遇到的同样错误。

  1. 我可以使用调试密钥在我的应用程序中在模拟器和设备上测试我的mapsview。它工作得非常好。我为我的调试证书生成了一个地图api密钥。

  2. 然后我使用MD5为我的发布证书创建了一个maps api密钥。我已将其添加到我的地图视图中,现在应用程序无法正常工作。

    • 我已在清单文件中的正确位置添加了android互联网权限。
    • 我已经像调试密钥一样正确生成了MD5指纹。
    • 我的应用中只有一个mapview,所以我刚刚在布局xml中更改了这个api键。
    • 生成调试和发布密钥的唯一区别是:在发布证书的keytool的命令选项中,我只被问过passsword一次,我认为是商店通行证。我的密钥传递从未被问过(实际上它们是相同的)
  3. 我像这样生成了调试密钥库MD5

    $ keytool -list -alias androiddebugkey \
    -keystore <path_to_debug_keystore>.keystore \
    -storepass android -keypass android
    

    我像这样创建了发布密钥MD5

     $ keytool -list -alias myalias_name -keystore "mykeystorepath"
    

    我还用android商店测试了应用程序仍然没有运气。我错过了什么?非常感谢任何帮助,谢谢你们!

2 个答案:

答案 0 :(得分:0)

使用eclipse生成密钥并导出,也不依赖于DEBUG变量(Android: automatically choose debug/release Maps api key?)来在运行时切换密钥,因为此时已断开,您必须导出应用程序,获取md5,根据这个新的md5获取密钥,切换地图密钥,重新导出

编辑:

https://developers.google.com/maps/documentation/android/mapkey

的重要步骤
1) $ keytool -list -alias alias_name -keystore my-release-key.keystore (NOT DEBUG KEY)
2) https://developers.google.com/android/maps-api-signup
3) update code with new key
4) clean project & build (important to clean, eclipse doesn't always do it)
5) export with eclipse

答案 1 :(得分:0)

好的,这是多么愚蠢。一切都很好,除了我把钥匙放在我没有使用的布局文件中。可能我不在乎。很快

  1. 即使您只是导出已签名的应用程序,地图应用程序也可以使用发布密钥。应用程序没有必要放在Android商店中才能运行。堆栈溢出中有一些误导性的注释说明了这一点。

  2. keytool会询问密钥库的密码,它也会使用相同的密钥来解锁别名密钥。只有它不同,它才会再次询问。

  3. 带有发布密钥的地图应用程序也可以与模拟器一起使用。只需rmbr即可使用安装adb&#34;&#34;