赞
踩
官网代码法直接获取。秒取:
- public static String sHA1(Context context){
- try {
- PackageInfo info = context.getPackageManager().getPackageInfo(
- context.getPackageName(), PackageManager.GET_SIGNATURES);
- byte[] cert = info.signatures[0].toByteArray();
- MessageDigest md = MessageDigest.getInstance("SHA1");
- byte[] publicKey = md.digest(cert);
- StringBuffer hexString = new StringBuffer();
- for (int i = 0; i < publicKey.length; i++) {
- String appendString = Integer.toHexString(0xFF & publicKey[i])
- .toUpperCase(Locale.US);
- if (appendString.length() == 1)
- hexString.append("0");
- hexString.append(appendString);
- hexString.append(":");
- }
- String result = hexString.toString();
- return result.substring(0, result.length()-1);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return null;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
自己在网上找的一些方法时,老是要我去找文件夹啊,在文件找什么.android 文件夹啊,要不然就是直接用keytool命令的,然后就显示,'keytool' 不是内部或外部命令,也不是可运行的程序。就很烦躁。
所以结合他们的思路,直接两步到位可以直接获取SHA1。
首先,点击AS左上角的File,如图所示:
可以看到本地jdk的安装的路径
知道自己安装在哪就好办了,直接在AS的Terminal窗口输入cd F:\Android Studio\jre\bin,就是输入上面显示的jdk的路径,打开进入到bin这个文件夹。
但是在AS的Terminal窗口中好像只能打开当前项目所在的区盘,比如项目在F盘,那只能打开F盘的F:\Android Studio\jre\bin或者F:\JDK1.8\bin。
可以自己找找AS的Terminal窗口打开其他分区盘的方法,若项目和android studio不在同一个盘,那下面内容不适合你了。
接着再输入keytool -list -v -keystore D:/projects/xxxll.jks,自己的签名文件的位置,放在哪就复制那个绝对地址过来。这里我就是放在D盘的projects文件夹了。
如上图到了“输入秘钥库口令”,发布模式密码是app签名时新建key store时自定义的密码,就是签名文件的密码。
输入正确密码后回车,就能看到你的安全码SHA1了,注意,输入密码时不会显示任何的东西,直接键盘输入完回车即可。如下图所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。