这个主要原因是因为调试的时候是使用默认的sha1值,默认情况下这个值是有.android 文件夹下的debug.keystore 文件生成的。在as中调试一般就是用的这个sha1值,而一般我们都用自己的jks给程序打包。我我们自己的jks也是有一个不同的sha1值的。所以这样就有可能会导致要么在调试的时候有地图打包后没有地图。或者调试没有地图,打包后有地图得奇怪现象。我们要注意下载百度地图开发设置中有一个选项就是发布版sha1和开发版sha1。其中发布版就是打包后的sha1,而开发版 就是我们在调试程序中的sha1。所以我们在配置的时候是需要找到两个sha1值的,而不是照着光网上的找到一个就行了。
其中这个sha1值都是通过敲命令出来的。
首先开发版的sha1:
默认情况下:
cd .android
keytool -list -v -keystore debug.keystore
输入秘钥库口令:一般默认是android
然后就会在控制台找到SHA1的值。
然后是发布版的sha1:
和上边差不多,先进入到自己的jks文件所在的文件目录:
F:
cd myjks
keytool -list -v -keystore mybaidu.jks
输入秘要口令:这个是我们自己在生成jks时设置的密码。
然后就可以在控制台看到SHA1的值了。
然后将这两个SHA1的值设置到百度地图中相应的设置中,提交。再次运行程序就可以一直能显示地图了。