Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的Google map签名api密钥错误_Android_Google Maps_Key_Signed - Fatal编程技术网

Android中的Google map签名api密钥错误

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

当我从调试映射键切换到签名映射键时,映射停止工作。我在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)
我已经仔细检查了所有内容,权限和库都已就绪。我重新制作了烧焦的钥匙,但没有运气


有什么想法吗?

我刚刚遇到了完全相同的问题

没有用户编写的代码抛出异常:它是在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的密钥库


我希望这对某人有所帮助:)

我有同样的问题,但我想我找到了答案

  • 决定按照以下步骤接收证书的MD5指纹
  • 在开发过程中,如果地图没有显示,不要担心这一点!简单提取APK使用android工具和第一步使用的关键工具,并使用此APK文件安装在手机上,您将看到MapView

  • 不管怎么说,在开发的时候,也许你看不到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不同

    在这个链接中,他们有一个小部分,主题是稍微慢一点的方式,这可能是一个尝试来解释这一点