zoukankan      html  css  js  c++  java
  • 百度地图签名认证失败

    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.

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Dot Net WinForm 控件开发 (七) 为属性提下拉式属性编辑器
    WinForm 程序的界面多语言切换
    c#遍历HashTable
    Dot Net WinForm 控件开发 (三) 自定义类型的属性需要自定义类型转换器
    Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
    Dot Net WinForm 控件开发 (一) 写一个最简单的控件
    Dot Net WinForm 控件开发 (四) 设置属性的默认值
    Dot Net WinForm 控件开发 (二) 给控件来点描述信息
    Dot Net WinForm 控件开发 (八) 调试控件的设计时行为
    Dot Net WinForm 控件开发 (五) 复杂属性的子属性
  • 原文地址:https://www.cnblogs.com/liumin-txgt/p/12932201.html
Copyright © 2011-2022 走看看