百度地图KEY的不合理之处

  • Post author:
  • Post category:其他



最近我们





产品


要使用的


地图


定位


,综合考虑决定使用


百度地图


。但是随之感觉不舒服的地方就暴漏了。




每一个android


程序


要想使用


百度


地图都必须要有一个KEY。这个KEY生成的时候要使用SHA1值和包名。而SHA1值实质上是程序签名的唯一标识。




实际使用的过程中,总共一下两种情况:




1、连接eclipse调试。这个时候默认使用的是debug.


key


store签名,并不是没有签名,因此我们在CMD下输入


keytool -list -v -keystore debug.keystore

获取到的



SHA1值就是debug.keystore的。但是不同的电脑,不同的


开发


环境,debug.keystore是不同的,并且是有时间期限的。




不同的的程序员不同的 电脑要分别取使用自己的SHA1值去申请不同的KEY,debug.keystore过期了还要再去重新申请一个KEY。




2、签名打包发布APK。这个时候使用的肯定是其他的XXXX.keystore,因此SHA1值就不同。比如我使用的aaa.keystore,放在了F:/test目录下。那么我要cd  f:/test目录,然后执行


keytool -list -v -keystore aaa.keystore




。 然后在用这个SHA1值去申请一个KEY。把他放进


Android


Manifest.xml文件,在打包签名生成APK,才可以顺利调用百度地图。




第二种情况还好,第一种就太愁人, 一个小组有5个研发人员,要想在eclipse调试中可以使用百度地图,就必须每人一个KEY。这还不包括重装系统,debug.keystore过期之类的。百度地图对KEY的 数量是有限制的就是最多同时20个KEY。不过庆幸的,百度地图的KEY 可以随时删除。






相比之下google做的要比百度好。我认为最好的方式就是一个包名对应一个签名,而不应该根据签名的不同来生成不同的KEY。




以上问题,只是我在实际使用过程当中遇到的,不知道是我们小组的个例还是所有程序员都遇到的通性,因此在此也顺便做一次统计。如果是百度地图的通性,真心希望百度可以有所改进。上班中,时间紧迫先写这些。。。。欢迎批评指正。