andorid:百度地图定位:第一次定位成功之后 再次定位一直返回:505 错误
locType:505
locType description:NetWork location failed because baidu location service check the key is unlegal,…
或者:
locType:61
本人在开发andorid定位中使用的是:百度地图定位api;但是在使用的时候遇到过了一些注意不到的坑坑洼洼;也是发了不少时间 摸索解决:
首先 我这里说下第一个遇到的坑: 定位信息的获取;
- 开发工具:andoridstudio
- 准备:SHA1 获取;
- 注意:这里要说下:andoridstudio 和Eclipse的获取是不一样的;或者我们很容易通过eclipse 的属性获取到SHA1的值;但是andoridstudio的SHA1 不是那么容易拿到的; 首先我们要知道 我们常规的通过命令(keytool -list -v -keystore debug.keystore)获取到的不一定就是我们要求用到项目中的SHA1,这个要注意了。我的问题就是出现这里的。
申请百度地图Key
http://lbsyun.baidu.com/apiconsole/key
申请百度key的步骤说明
http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/key
这里给出了很详细的申请key的过程和步骤;but…..
下面讨论下申请key的步骤:
获取debug的SHA1值
- 打开cmd,输入:
cd .android
keytool -list -v -keystore debug.keystore
- 1
- 2
- 接下来会要求你:输入秘钥库口令,默认的就是:andorid ;回车既可以看到SHA1的值了; (这个就是我在release项目中用的所以是有问题的!)
获取release的SHA1的值(这个是重点)
- 打开cmd:
cd .android
keytool -list -v -keystore 你自己的打包用到的keystore的路径
- 1
- 2
- 回车:要求:输入秘钥库口令:(这个就是你自己签名的口令了,多几次 就晓得了 哈哈哈)
- 回车 OK ,这里就出现了一个新的和上面不一样的SHA1的值;很奇怪吧;怎么会有两个不同的呢? 而我们用的其实是这一个SHA1对应的生成的百度的key的值。
OK到这里就结束了———Release 版本获取到的Key才是我们需要用到在andoridstudio的release 项目中的key。