百度地图签名认证失败

1.百度官网申请认证KEY,SHA1,包名等都OK了,在android studio中也设置好了,程序也没有问题,无论是run app还是debug app都不行,我将我的debug.keystore也复制到app下面了,还是不行。最后,我通过产生签名apk(沟选了V1和V2两个版本),安装到手机上,则OK。后来发现“我的文档”目录下有三个android目录,一个为.android,一个为.android2.2,一个为.android2.3,通过在.android下执行命令:keytool -list -v -keystore debug.keystore,(原始android studio安装时的默认密码为android)查出SHA1值,将这个值填到百度控制台的“开发SHA1”处,同时,在android studio中build signed APK可以全新创建一个证书文件,后缀也是为keystore,签名版本要选V1和V2(可以只选V1,不能只选V2),再通过命令查看这个证书的SHA1,也将这个值填到百度控制台的“发布版SHA1”处,拿到AK值之后就可以在android studio中debug了,不会再出现验证失败,只是在android studio中run app或debug app都是用的debug版 SHA1值。

2.

最近有需求要用到地图,同学和我说高德地图社区都关了,他都换百度了……所以我果断……直接用百度地图吧。按照官方文档的步骤,一路下来都很简单。但是在使用官方示例demo的时候却碰到了如下的错误:

baidumapsdk.demo E/baidumapsdk: Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败

首先我可以确认我包名是没有错的,而且我还进了gradle里看了下,确认都是一致的。那么问题一定时候出在SHA1上的了,但是讲道理我用你的demo我又没打包发布,用的肯定是debug.keystore吧……

诶?等等……难不成他指定了debug.keystore所以导致我获取到的SHA1并不对?

 
debug.png

我看了一眼……哎哟卧槽还真是,难怪一直验证失败。那接下来的事情就好办了,要么获取这个debug.keystore的SHA1,要么把这个keystore路径换掉。我直接获取了这个debug.keystore的SHA1并且和我电脑上默认的作了一下对比

keytool -list -v -keystore debug.keystore

好了走你~!

 
真不一样.png

可以很明显的看出来,这俩是不一样的,所以验证失败是可以理解的……我的问题就这么解决了,值得注意的是发布版的签名证书又不一样了,到时候还得重新获取SHA1信息,重新获取AK。(当然百度其实是给了发布版和开发板两个SHA1让你填的,我手上并没有打包的东西,所以不怎么了解这一块)

 

3.

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2020-05-21 17:38  旮旯风行  阅读(432)  评论(0编辑  收藏  举报