最近在学习安卓开发调用高德地图api,在手机上调试时,其他功能都正常,但是在调用路线规划和搜索功能时会报用户MD5安全码未通过,
原因是因为在高德地图主页申请key的时候,发布版安全码和调试版安全码写的不对,以下介绍怎么填写:
通过Android Studio编译器获取测试版的SHA1
第一步、打开Android Studio的Terminal工具
第二步、输入命令:keytool -v -list -keystore keystore文件路径
第三步、输入Keystore密码(密码默认是android)
获取发布版的SHA1
1.首先打开Android Studio,点击上方工具栏Build—Generate Signed APK
2.然后会进入这个界面:
这时,对于之前没有做过任何操作的人来说,直接选择"Create new..."就可以了
3.点击"Create new..."后,可看到下面界面:
关于第一项"Key store path:"路径的选择,主要目的是新建密钥文件。这里需要注意的是对于每一个Android项目来说,一个project只能对应一个Key,所以说我认为最好是将这个Key密钥文件当前所在项目放在一起,这样不容易混淆且很容易寻找。那么我是将这个文件建在了我这个项目的App文件夹里面了。这里不要忘了下面红色的方框中给你的文件取一个好懂的名字
4.点击确定之后:下面我来解释每一行的内容
Key store path:上一步已经选择好了
Password:此处输入密码 Confirm:再次刚刚输入的密码
Alias:这里是给你创建的Key取别名,一般都比较简单,此处我取名为key0
Password和Confirm:和上面输入密码和确认密码一样,设置密码即可,我是两个密码取得都一样
Validity(years):这里指密钥有效的时限,作为学生党或者练练手的兴趣爱好者这里可以不去管它
后面的方框里的Certificate顾名思义,我觉得应该是填一些正规性的东西,此处我了解也不多,我就瞎填了几个,然后后面的地点呀省份呀自己根据实际情况填写就行了。但是最后一个东西是什么我真的不知道,我看见网上有人填了,也有人没填,我反正试了一下,不填其实也没多大关系,我觉得这整个长方形板块就可填可不填吧。最后点击OK即可
PS:下面我换了一个项目做讲解,是我最初弄的那个项目,下面内容不影响接着上面,只是为节省自己的工作量
这里要注意"Signature Versions:"这里一定要至少选择一个,一般选择V2这一项就可以了,然后点击finish
5.打开你的项目文件栏:
你会发现生成了两个文件,上面那个文件在release包中,这个文件尾缀为.apk,这个大概就能想到它是一个安装包了,这个也可以安装到手机上了,不过重点不是这个,我们现阶段也不需要安装。下面这个.jks文件就是我们之前建立的密钥文件(因为这里我是换了一个项目,所以密钥名和前面的不一样,但是方法是一样的)
6.进入当前项目的gradle文件夹的"gradle.properties"里面
添加下面红色方框代码:(白色部分即为注册时的密码)
7.打开命令提示符,首先将目录切换到密钥文件.jks所在的目录,我的输入参考如下:
cd C:\Users\a\AndroidStudioProjects\PreDesign_Project\app
然后切换到密钥文件所在目录下之后,输入"keytool -list -v -keystore Key_store.jks(你的密钥文件名)"
PS:这里的"Key_store"是我的密钥文件名,你取的什么名字就换成你自己取的名字
然后依旧是按两次回车,得到下面的信息:
可以看到,我们想要的发布版安全码SHA1就得到了,然后将其填到"发布版安全码SHA1:"即可