高德地图的集成还是比较简单的,而且用法都有Demo,下面我就说一说定位不准确的原因吧
1.获取SHA1值出错,这个很重要,如果SHA1值不对的话,高德SDK是不会告诉你的,而且最可恶的是还能运行,位置就会不准确甚至偏差很大。
因为你获取的sha1值可能是默认的debug.keystore,而高德要求的是你打包签名后的自定义的SHA1值(JKS文件),如何查看keystore文件路径:AndroidStudio-->Build-->Generate Signed APK-->Key Stroe path就是签名打包后的路径,用它才行。也就是说,你的应用先签名打包,然后才能获取相匹配的SHA1值,进而获取准确的位置。
获取SHA1值
首先,绝大多数App在调试时使用的签名文件(debug keystore)和最终App发布使用的签名文件(自定义的keystore)是不同的,不同签名文件的SHA1值也是不同的。下面提供几种获取SHA1值的方式:
通过Android Studio编译器获取SHA1第一步、打开Android Studio的Terminal工具
第二步、输入命令:keytool -v -list -keystore keystore文件路径(AndroidStudio-->Build-->Generate Signed APK-->Key Stroe path就是签名打包后的路径)第三步、输入Keystore密码
SHA1 fingerprint使用 keytool(jdk自带工具)获取SHA1,按照如下步骤进行操作
1.运行进入控制台。开始-搜索里面输入cmd按回车
2.在弹出的控制台窗口中输入 cd .android定位到
3.继续在控制台输入命令。
debug.keystore(默认):命令为:keytool -list -v -keystore debug.keystore自定义的 keystore:命令为:keytool -list -v -keystore apk的keys