Google Maps API v2二探

上次在AVD上成功跑出google map后,在实际做项目中又遇到一个问题。

一 我发布后在手机上运行只显示网格不显示地图,这引起我的思考,为何在AVD运行正常在真机上会出现错误?

二 百度了一下,发现有可能是因为API KEY的问题。在debug的时候,申请的API KEY是用debug.keystore,但发布后程序在真机上运行,需要重新获取一个keystore后再重新申请一个API KEY。试之,仍然不能解决问题。

三 用重新申请的API KEY 连接真机用开发模式调试发现,logcat显示错误是Authorization Failure, 也就是说debug的时候连真机也要用debug.keystore申请来的API KEY。好,那么改回来。重新调试。

四 这次logcat的错误信息改了,变成failed to load map. could not contact google servers. 这次我用google搜索错误信息。。。终于在stackoverflow问答站上找到原因。需要加上如下权限:  

 <uses-permissionandroid:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

至此,花了一个晚上终于找出问题所在,记录下来备忘。

原文地址:https://www.cnblogs.com/Jam01/p/2923029.html