PS:我搞了很久,百度地图终于出来了,原来是Key 的问题,现在附上转载过来的解决办法,希望对大家有用!

相信很多人在开发百度地图的时候会出现百度地图有时候会加载不出来,只显示网格图。 这个问题究其原因就是申请百度key的时候填写的SHA1也就是指纹证书有问题。估计很多开发者都是照着百度开放平台上介绍的流程去申请的。

当然,照着百度开放平台上去申请是没错的。但是上面介绍的申请得到的指纹证书只是本地开发环境存在的默认签名文件debug.keystore的指纹证书。流程如下:

第一步:打开命令窗口,输入cd .android。(这一步说明开发环境默认的签名证书debug.keystore存放在C盘.android目录中)

第二步:进入.android目录后,接着输入keytool -list -v -keystore debug.keystore,这里的debug.keystore就是开发环境下默认的签名文件了。

值得注意的是:我们在开发一个apk发布在应用商店时,需要我们自己的生成的签名文件,这个签名文件和开发环境默认的签名文件肯定是不同的,至少指纹证书SHA1就不同。所以,当我们通过我们自己生成的签名文件导出签名的apk时,百度地图的key应该是我们自己的签名文件中的指纹证书,如果还是用的是debug.keystore的SHA1申请的key,百度地图自然就会有问题。比如,我们导出apk的签名文件名字为myapp.keystore;那么可以通过在命令窗口中输入keytool -list -v -keystore myapp.keystore得到SHA1,然后通过这个SHA1去申请百度key,这样,你导出的签名apk的百度地图功能就不会只显示方格图加载不出来地图的问题了。

总之:如果你用到百度地图功能的apk,仅仅是通过本地环境运行的,你完全可以按照百度开放平台上介绍的流程去获取SHA1。但是,如果你开发的apk是需要自己生成的签名文件(签名证书)导出,放到应用商店去给别人下载的。那么,你申请百度地图key的SHA1值,就应该是来自你生成的签名文件中的SHA1值,SHA1查看方式keytool -list -v -keystore 签名文件。(注意要进入文件所在路径再输入命令)。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐