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

本文档介绍了在使用高德地图时遇到的“key错误”和“MD5安全码未通过”问题,解析了原因并提供了解决方案。主要在于区分调试和发布模式下的SHA1设置,以及如何通过keytool工具获取调试和发布模式的SHA1值。同时,还提醒了开发者注意包名的一致性和密钥库口令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

高德地图安全码sha1设置
可以了解是由于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是固定的,前面也无需加任何前缀)

开发模式sha1

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

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

发布版sha1获取命令

这里写图片描述

小提示:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值