使用百度地图SDK,使用Android studio开发工具,按照开发者指南进行操作,地图无法显示问题

来源:互联网 发布:出行软件英文怎么说 编辑:程序博客网 时间:2024/05/17 22:45
1、生成SHA1和MD5值的具体步骤如下:

生成SHA1和MD5值需要使用DOS窗口,当然在android studio可以直接使用Terminal工具

1.点击Terminal工具,接下来需要使用dos命令了
这里写图片描述

2.将目录切换成keystore.jks文件目录,输入keytool -list -v -keystore keystore.jks。按下回车键。输入keystore密码
这里写图片描述

输入keytool -list -keystore 签名文件.jks可以获得sha1的值,这里我建议把签名文件放到项目的目录下。




2、使用android studio开发工具,按照百度地图sdk的开发指南步骤进行“操作230错误 Scode码校验失败",经过一天的查找资料没能解决问题,好在第二天解决了此项问题。

用Android Studio环境写了一个百度地图的Demo,但是一直报Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败,百度到的解决方法都无法解决我的问题,我按照官网的方式获取的SHA1签名,也确定包名没有问题,也尝试手动生成签名以及删除应用再重新建。
经过几个小时都无结果,我突然想到,230既然表示是调用到了,但是安全码不对,那我在程序里手动输出签名和包名比对一下不就行了,于是再去百度。
通过以下方法可以得到签名:
直接用打包出来的apk查看签名,具体如下: 
1) 将apk修改后缀为 .zip文件后解压; 
2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA 
3) 在该目录下打开cmd,输入命令 :keytool -printcert -file CERT.RSA 这里将会显示出MD5和SHA1签名。
这是我们可以想到获取的安全码(AK),是由利用签名文件(用keytool -list -keystore 签名文件.jks的命令获得的)和sha1值和项目的包名两个值共同获取的,然后就出现了230错误,经过查看文件,发现包名没有错误,然后一定是sha1的值出现了问题,通过上面可以观察到该app运行得到的sha1值和用keytool -list -keystore 签名文件.jks命令生成的sha1值是不一样的,然后用如图所示的命令查看了app运行生成的sha1值代替之前的sha1值,在百度地图sdk中,重新获取ak就解决了地图无法正常显示的问题!

0 0
原创粉丝点击