解决高德地图key错误与sha1不匹配或MD5安全码未通过问题

在开发模式中使用地图功能时提示“用户MD5安全码未通过”,查看高德官方文档,给予下面提示:

*使用云图检索、附近功能出现“key错误”、“用户MD5安全码未通过”、1008错误如何解决?
云图目前只支持使用发布版SHA1,为了保证云图相关功能(业务数据的检索以及附近功能)的正常使用,请申请一个用于调试的Key和一个用户发布的Key,其中:

调试Key:发布版安全码SHA1和调试版安全码SHA1都填写开发环境下开发工具 keystore 对应的 SHA1,即开发模式(debug)SHA1,用于日常的功能调试。
发布Key:发布版安全码SHA1和调试版安全码SHA1都填写上线的apk keystore 对应的 SHA1,即发布模式(release)sha1用于发布使用。* 点我查看

解决高德地图key错误与sha1不匹配或MD5安全码未通过问题
可以了解是由于sha1未按约定填写导致的。

解决思路:
根据约定,调试时无论开发模式(debug)sha1还是发布模式(release)sha1统一填写开发模式(debug)sha1;发布时二者均用发布模式(release)sha1。

问题来了,如何获取sha1?
1.开发模式sha1的获取:
使用keytool(**和证书管理工具):进入cmd模式,依次进入到“c盘/用户名/.android ”路径下,执行keytool -v -list -keystore debug.keystore -storepass android 命令。 (注意,debug.keystore是固定的,前面也无需加任何前缀)

解决高德地图key错误与sha1不匹配或MD5安全码未通过问题

关于上条命令的说明:-list 列出**库中的条目,-v 详细输出,-keystore 指定秘钥库名称,-storepass 指定**库密码

2.发布模式sha1的获取:
同样使用keytool工具,与上述步骤雷同,区别是指定的keystore路径为实际项目生成的keystore文件,注意路径要补全。keysore文件既可以是.jks格式的,也可以是.keystore格式的。我这里是.jks

解决高德地图key错误与sha1不匹配或MD5安全码未通过问题

解决高德地图key错误与sha1不匹配或MD5安全码未通过问题

小提示:

- 开发模式(debug模式)**库口令是*android*
- 在当前路径下打开命令模式:按住*shift点击鼠标右键。*
- keystore文件的格式可以是.keystore*,也可以是.jks。*
- key错误,也有粗心的开发者平台上提交的包名与实际包名不一致造成的。