生成keytool SHA-1

时间:2014-03-27 08:30:04

标签: android android-layout

我目前正在做一个关于如何通过谷歌+帐户登录的教程,但我陷入了第一步。我正在谈论的教程是tutorial。我有一个打印屏幕显示我所做的但它不起作用enter image description here这里看起来有什么问题?有没有其他方法可以在不使用命令提示符的情况下生成相同的文件

更新

能够运行该行,但它返回的结果与教程中返回的结果不同enter image description here

4 个答案:

答案 0 :(得分:2)

try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.example.yourpackagename",
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("KeyHash:",
                        Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
        } catch (NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }

我知道这个问题已经得到解答,但这就是我找到默认密钥库的签名的方式。在Eclipse中,如果你去Windows - >偏好 - > Android - >构建

see

答案 1 :(得分:0)

如果你正在使用eclipse,你可以在apk导出向导的最后一页获得SHA-1(即,在编辑框和完成按钮之间给出)。

您还可以通过eclipse中提供的自定义密钥库选项添加任何密钥库。将密钥库添加为自定义密钥库后,还会给出SHA-1。

you can get more details here

答案 2 :(得分:0)

请转到jdk bin路径

cd C:\Program Files\Java\jdk1.6.0_22\bin

然后

keytool -list -v -keystore "C:\Users\mmanlapig\.android\debug.keystore"

尝试此代码。它将在您的日志cat中返回哈希键。并且不要忘记更改包名称

try {
            PackageInfo info = context.getPackageManager().getPackageInfo(
                    "com.example.package", PackageManager.GET_SIGNATURES); //Your package name here
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.v("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                }
        } catch (NameNotFoundException e) {
        } catch (NoSuchAlgorithmException e) {
        }

答案 3 :(得分:0)

使用以下步骤在eclipse上安装keytool然后你可以轻松生成SHA-1

http://keytool.sourceforge.net/update

在eclipse中采取帮助 - >安装新软件。将上面的url复制到它并安装它。然后在eclipse上有一个选项keytool。选择keytool->打开密钥库。浏览debug.keystore文件的路径并将密码设为android。enter image description here