Android 百度地图SHA1
基本情况
最近接管了一个App的开发,其中需要接入百度地图的API,百度地图的API具体的使用方法参考官方文档, 主要是要了解其中的签名问题,否则签名出问题则无法正常使用百度地图的API。
我们在开发app过程中,会有开发状态(debug)和发布状态(release)。百度地图API需要这两个状态对应的SHA1值,否则无法使用。而API控制台的发布版SHA1是必填项。
debug
一个app必须进行签名才能安装在手机上(包括真机或模拟器)。开发、debug过程中,Android Studio会使用 /.android 目录下的debug.keystone对app进行签名,所以此时app才能安装成功,所以,百度地图的API控制台中的开发版SHA1(上图),则填入debug.keystone的SHA1值。如何获取SHA1值?
keytool -list -v -keystore debug.keystore
执行之后如图:
其中的SHA1值表示我们需要填入的值。
release
当App开发完成,需要将App进行发布,发布也需要填入SHA1值到百度地图的API控制台,通过Android Studio的Build - Generate Signed APK来签名发布我们的App。
该方式需要签名文件YOUR_FILE_NAME.jks,如果没有则create new,生成之后,同理对该文件执行生成签名信息的命令:
keytool -list -v -keystore YOUR_FILE_NAME.jks
获取YOUR_FILE_NAME.jks的SHA1值,填入到API控制台,则发布的APP便能够使用百度地图的API。
问题
Authentication Error errorcode: uid: - appid - msg: APP Scode码校验失败
该问题主要是由于百度地图SHA1签名没有填写正确的原因,按照以上方式正确填写便能够解决。