报错信息:E/Amap: location error, code = 7, info = KEY错误 请到http://lbs.amap.com/api/android-location-sdk/abouterrorcode/查看错误码说明.
错误原因是SHA1不匹配:
-
如果clone别人的项目运行,先去高德地图官网申请一个key,替换别人项目中原本的key。
-
如果项目是自己写的,key也是自己申请的,请继续下面的办法。
解决办法:
一、首先确定一下这三项是没有错误的。
发布版和调试版不要写混了哦。
验证:
打开Android Studio 终端,输入命令:
①发布版SHA1:keytool -exportcert -list -v -keystore D:\develop\xxxApp\JKS\xxxx.keystore
(将路径换成自己的keystore或者jks文件的路径,这个文件一般是自己生成的)
输入密码,可以看到SHA1值。
②调试版SHA1:keytool -exportcert -list -v -keystore C:\Users\lenovo.androi\debug.keystore
(将路径替换成自己的,路径一般在C盘\用户\xxx.Android里面。)
③没有写错包名。
检查包名最稳妥的还是去app\src\main\AndroidManifest.xml文件里面看:
注意:SHA1值严格区分大小写和空格。
如果这三项有误,去高德地图官网修改一下信息,重新生成key。
二、如果上面三项都没有错误,那可能是调试版的SHA1不太行,这里说一下解决办法,至于具体原因我也不清楚,以后有时间搞清楚了再来填坑。
①下载一个MCodeCheck工具 免费无需登录下载地址
②在手机上安装运行
③找到你要调试的app
④点击得到信息
⑤用上面的SHA1值去替换申请高德地图key时的调试版SHA1值,重新生成key。