前言:使用百度地图时需要秘钥,申请秘钥时需要SHA1值,所以今天就总结一下怎么获取这个值。
正常情况下:
一、获取开发版SHA1:
在此我直接用AndroidStudio提供的命令控制台了,毕竟做Android开发几乎都是用Android Studio了。
1、打开android studio 找到Terminal并打开,或者在最下面找到Terminal 如下图:
2、 输入命令 C: 进入c盘; (Mac进入~)
3、接着 输入命令 cd Users\Administrator 其中Administrator是自己的用户名 Administrator文件下有个.adnroid文件, 输入命令 cd .android,最后就找到了.android,如图:
4、输入命令 keytool -list -v -keystore debug.keystore 其中debug.keystore是studio默认的keystore,按回车,然后输入秘钥:android(系统默认) 回车(秘钥库口令是看不到的)如下图:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
获取发布版的SHA1,跟获取开发版的SHA1的1、2、3步骤一样,不一样的地方就是第4步稍微不同而已。
1、同上;
2、同上;
3、同上;
4、输入命令 keytool -list -v -keystore 文件目录\自己的签名文件 比如我的:keytool -list -v -keystore E:\签名文件\android.keystore ,接着按回车,然后输入秘钥:(我只知道我的,哈哈) 回车(秘钥库口令是看不到的)如下图:
获取开发版另一种方法
1、打开终端
CD 到Android Studio的文件路径下
2、输入 keytool -list
3、
展示出秘钥库条目,第一次生成时,会提示你新建条目 秘钥库文件不存在
输入keytool -v
获取管理方式
4、创建新的秘钥库 keytool -genkeypair
填写秘钥和你的个人信息
5、通过keytool -list
获取指纹证书 SHA1 :
上面是正常情况下执行的,我在获取SHA1时就被坑了,接下来就是说一下不正常的情况了:
1、首先是出现:
‘keytool‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。如图:
于是我参考了一篇文章:http://blog.csdn.net/csdnhejingzhou/article/details/50643246,确实可以是解决了这个问题;
2、前面的问题解决了,然后我就按照他的步骤直接运行deybug.keystore,即C:\Program Files\Java\jdk1.8.0_31\bin>cd keytool.exe
但又出现了一个问题:提示目录名称无效。如图:
最后我直接 把 C:\Users\Administrator\.Android 目录下的 debug.keystore 拷贝到 C:\Program Files\Java\jdk\bin 目录下了,就是和debug.keystore同一个目录下。