Android中的Google map签名api密钥错误
当我从调试映射键切换到签名映射键时,映射停止工作。我在logcat中得到以下错误:Android中的Google map签名api密钥错误,android,google-maps,key,signed,Android,Google Maps,Key,Signed,当我从调试映射键切换到签名映射键时,映射停止工作。我在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 andro
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)
我已经仔细检查了所有内容,权限和库都已就绪。我重新制作了烧焦的钥匙,但没有运气
有什么想法吗?我刚刚遇到了完全相同的问题 没有用户编写的代码抛出异常:它是在EclipseLogcat中生成的,结果是您看不到任何GoogleMap分幅。和珍一样,我重新生成了钥匙,但没有用 平台为安卓3.2,设备为华硕变压器,连接为WiFi 仅供参考,我的Android 2.2应用程序运行良好,通过3G在Droid上检索地图 以下是我问题的解决方案,希望对Jen有所帮助: 在我的例子中,如果我使用“Debug as”Eclipse图标将发布版本安装到Transformer上,并且Transformer USB连接,则映射如上所述失败(仅供参考,这是我在Android 2.2和其他设备上成功使用过多次的过程)
所以我尝试了这个方法:我使用Eclipse文件|导出。。。选项创建一个发行版APK,然后使用其华硕同步应用程序将该APK安装到Transformer上。一切都很好。将显示地图分幅。签名地图密钥用于发布应用程序。所以你会得到这样的信息。如果您通过带签名地图密钥的USB调试应用程序。如果要调试应用程序,请切换回debug map key,并在发布更新或新版本之前将其替换为签名的map key。最终修复
我使用的是Windows机器,所以我只需转到
C:\Users\rohit\.android
并删除debug.keystore
和default.keyste1
一旦完成,我就转到Eclipse并将一个干净的构建应用到我的项目中,然后它就完成了 我也遇到了同样的问题,我想在互联网上没有任何有用的答案,所以希望这对未来的每个人都有帮助
使用Android版谷歌地图时,需要两个键-调试和发布
“调试”键是一种误导性的术语。在Eclipse中开发应用程序时也要使用此键。因此,本质上,使用调试键进行开发、测试和调试
当您准备将应用程序推向市场时,在AndroidManifest.xml
中设置android:debuggable=“false”
,并使用签名的API密钥
使用已签名的API密钥时,只有从Android Market
安装应用程序时,MapView
才会显示。因此,从Eclipse
(运行方式、调试方式等)或命令行(adb安装)
安装应用程序时,不会显示MapView
。请放心,一旦该应用程序进入市场-您下载它,地图视图就会显示出来
使用已签名的API密钥,如果您从Eclise部署应用程序,您将收到“服务器返回3,IOProcessing异常26”作为警告-忽略它即可
注意:还要确保同一MapView没有重复实例。如果您的应用程序需要“x”个MapView
s,请生成“x”个新签名密钥(每个MapView一个),因为GoogleMaps对单个MapView
实例有查询限制
要获取这两个键,请按照的步骤进行操作
快乐编码
更新:上面用于获取api密钥的链接现在是一个不推荐使用的过程。请参阅继续。我也有同样的问题。就我而言,我做错的是这个。我是这样编写keytool命令的:
keytool -list -keystore debug.keystore ...
而不是:
keytool -list -keystore ~\.android\debug.keystore ...
所以我没有用我的指纹更新Eclipse的密钥库
我希望这对某人有所帮助:)我有同样的问题,但我想我找到了答案
不管怎么说,在开发的时候,也许你看不到MapView,但这仍然不是问题,不用担心!简单的等待,当你用密钥库完成应用程序和构建时,如果你使用别人已经生成并提供给你的调试键,你将看到正确的地图显示。
java.io.IOException: Server returned: 3
您可以使用此链接获取API密钥:
此链接将带您进入google凭据页面,这是获取API密钥的新地方。还有一件事:
在添加-v之后,您必须记住google API只需要MD5而不是SHA1。因此,请检查您给google的代码。对于那些试图从sdk extras构建地图示例的可怜人:当我将包从com.example.mapdemo重命名为com.mynmae.mapdemo时,地图神奇地出现了。是的,我花了一个小时搜索和尝试,它默默地拒绝了包名。我来自未来!我也经历过同样的问题。但对于新手开发人员来说,这可能是一个问题 当您在android studio中创建一个新的google maps活动时,在
google\u maps\u API.xml
文件中有一个获取API密钥的链接。所以,当你点击这个链接时,谷歌会为你的项目创建一个“调试”键。正如Sagar Hatekar所解释的,它实际上只用于测试和开发
更清楚地说,谷歌通过SHA-1证书指纹
(也在Google\u maps\u api.xml
的评论中说明)来识别您的项目
所以我想说的是,你不能对几个项目使用同一个键,这与开放/公共API不同
在这个链接中,他们有一个小部分,主题是稍微慢一点的方式,这可能是一个尝试来解释这一点