获取SHA-1指纹的方法和获取指纹的方法一样吗?之前,我正在运行这个命令:

我不清楚我得到的结果是不是SHA-1指纹。有人能解释一下吗?


当前回答

如果您正在使用谷歌Play应用程序签名,而不是从密钥库中获取SHA,更简单的方法是到谷歌Play控制台>您的应用程序> Release Management >应用程序签名并寻找您的上传证书。

其他回答

第一步:首先在windows电脑中找到JDK的bin文件夹。请看下图。

我的答案是:

C:\Program Files\Java\jdk1.8.0_131\bin

第二步:现在在windows 10搜索栏中输入“cmd”搜索命令提示符。然后以管理员模式打开命令提示符。 请看下图:

步骤3:现在复制该路径并将其输入到命令提示符中

 C:\Program Files\Java\jdk1.8.0_131\bin

在命令提示符:

cd C:\Program Files\Java\jdk1.8.0_131\bin

按下Enter按钮后,您将进入bin文件夹。

您的设置完成了。现在生成释放模式的SHA1密钥。

释放SHA1密钥:

keytool -list -v -keystore C:\Users\Turzo\Desktop\earninglearning.keystore -alias turzo -storepass 12345678 -keypass 12345678

keytool -v -list -keystore "< debug. keystore "Keystore路径>" 如果您不知道调试的路径。密钥存储库,您可以找到您的调试。通过检查windows—>首选项—>android—>构建Keystore路径

我准备了一步一步的教程,以展示如何在模拟器上使用谷歌映射android v2 (android 4.2.2) 看看我的博客:http://umut.tekguc.info/en/content/google-android-map-v2-step-step

首先有一个与fb-sdk android-support-v4.jar相同的.jar文件。 然后使用以下命令生成SHA1密钥:

PackageInfo info;
try {

    info = getPackageManager().getPackageInfo(
        "com.example.worldmission", PackageManager.GET_SIGNATURES);

    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String something = new String(Base64.encode(md.digest(), 0));
        Log.e("Hash key", something);
        System.out.println("Hash key" + something);
    }

} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}

如果你使用android studio使用简单的步骤:

运行你的项目 点击Gradle菜单 展开Gradle任务树 点击android-> signingReport

如果没有任何显示(android studio 2.2),那么

从运行栏点击切换任务执行/文本模式

此解决方案适用于android studio 3.5版本:

打开你的项目到Android工作室。 点击右边的Gradle标签。 会看到两个东西,一个是我们的项目(根)和应用程序。 选择我们的项目,在你的情况下,它可能是你的应用程序。 右键单击项目并刷新它。 然后单击项目拖放按钮。 点击Tasks,你会看到android文件夹。 双击signingReport,将在Run console中看到详细信息。