最近我们
的
产品
要使用的
地图
定位
,综合考虑决定使用
百度地图
。但是随之感觉不舒服的地方就暴漏了。
每一个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。
以上问题,只是我在实际使用过程当中遇到的,不知道是我们小组的个例还是所有程序员都遇到的通性,因此在此也顺便做一次统计。如果是百度地图的通性,真心希望百度可以有所改进。上班中,时间紧迫先写这些。。。。欢迎批评指正。
每一个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。
以上问题,只是我在实际使用过程当中遇到的,不知道是我们小组的个例还是所有程序员都遇到的通性,因此在此也顺便做一次统计。如果是百度地图的通性,真心希望百度可以有所改进。上班中,时间紧迫先写这些。。。。欢迎批评指正。