Google地图在Android中签署了api密钥错误

Jen*_*Jen 62 android signed google-maps key

当我从调试映射键切换到我签名的地图键时,我的地图停止工作.我在logcat中遇到以下错误:

09-03 18:18:04.112: WARN/System.err(4073): IOException processing: 26
09-03 18:18:04.112: WARN/System.err(4073): java.io.IOException: Server returned: 3
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
09-03 18:18:04.112: WARN/System.err(4073):     at java.lang.Thread.run(Thread.java:1019)
Run Code Online (Sandbox Code Playgroud)

我已经仔细检查了所有内容,权限和库已经到位.我重新创造了烧焦的钥匙而没有运气.

有任何想法吗?

Sag*_*kar 82

我有同样的问题,我认为在互联网上没有任何有用的答案,所以希望这将有助于未来的每个人.

使用时GoogleMaps for Android,需要两个键 - 调试和释放.

"调试"键是一种误导性术语.在Eclipse中开发应用程序时也可以使用此键.基本上,使用调试密钥进行开发,测试和调试.

当你准备好应用程序推出到市场,设置android:debuggable="false"AndroidManifest.xml与使用签名的API密钥.

使用签名的API密钥时, MapView只有在安装应用程序时才会显示Android Market.因此,从Eclipse(运行方式,调试方式等)或命令行安装应用程序(adb install)将不会显示MapView.请放心,一旦应用程序进入市场 - 您下载它并MapView显示.

使用签名的API密钥,如果您从Eclise部署应用程序,您将获得"服务器返回3,IOProcessing异常26"作为警告 - 只需忽略它.

注意:还要确保没有相同MapView的重复实例.如果您的应用需要"x"否.的MapViewS,产生"X"没有.新签名密钥(每个MapView一个),因为GoogleMaps对单个MapView实例有查询限制.

要获取这两个密钥,请按照在Android上获取GoogleMaps的API密钥的步骤操作.

快乐的编码!

更新:

上面用于获取api密钥的链接现在是不推荐使用的过程.请参阅获取GoogleMaps Android API v2的API密钥.

  • 准确一点:"当使用签名的API密钥时,MapView将仅在Android Market安装应用程序时显示.因此,从Eclipse(Run As,Debug As等)或命令行(adb)安装应用程序安装)不会显示MapView.请放心,一旦应用程序进入市场 - 您下载它并且MapView将显示出来." - 这不是真的正确.实际上,如果应用程序使用您在申请地图密钥时向Google提供的密钥进行签名,则MapView将按预期工作.您可以从命令行安装,如果您使用此命令对其进行签名,它将起作用. (10认同)