Google Map无法显示:Error contacting Google servers. XXX authentication issue

在开发google map时遇到的问题:
06-26 14:05:58.934: E/Google Maps Android API(24276): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors). 

关键一句就是上面的,总是连不上,已经用了代理,所以确定是authentication issue,网上找了很多资料,逐个试了遍,总算有一个方法成功了:
大体意思是说:不能用Eclipse直接“Run as”安装app到设备上,因为在打包成apk时会对你的apk进行签名,在访问google map服务时google play service(或者是google play store)会进行验证,有人指出,需要以下方法安装app:Eclipse File→Export→Export Android Application,之后就一路跟着走,选择[C:\Users\yourname\.android\debug.keystore](期间用到的默认密码都是“android”),最后会生成apk文件,将其copy进sd卡然后安装;

于是了解了一下debug.keystore这东西的作用,其实这东西可以绑定一个且只能是一个google账户,还记得要申请google API key吧,当时是用过这个东西中的sha1数字签名的,它与google账户绑定就可以为你自己生成一个client ID,然后[这串签名+你的app包名]就可以生成API key(一个API key可以对多个app生效的,只要你在API Console里面设定过)。

可为什么非要这么做呢,这样岂不是没法dubug了,通过Eclipse安装时必定也会进行签名,为什么这个签名不对?于是“Window→Preferences”,找到Android,下面有个Build,发现了default debug keystore,其值是“C:\android-sdk-windows\.android\debug.keystore”,这与上面用的不一样,于是在Customer debug keystore里面添加C:\Users\yourname\.android\debug.keystore,再通过Eclipse安装app,问题解决了。

关于debug.keystore和release.keystore,还是自行上网看看资料的好

你可能感兴趣的:(android,google map)