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

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


当前回答

对我来说,这是一个循序渐进的过程。

首先运行应用程序,然后按照以下步骤(也显示在截图)

点击签署报告 打开gradle控制台对话框 它会显示你的SHA-1证书编号

其他回答

首先有一个与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());
}

除了Lokesh Tiwar的回答

对于发布版本,在gradle中添加以下内容:

android {

defaultConfig{
//Goes here
}

    signingConfigs {
        release {
            storeFile file("PATH TO THE KEY_STORE FILE")
            storePassword "PASSWORD"
            keyAlias "ALIAS_NAME"
            keyPassword "KEY_PASSWORD"
        }
    }
buildTypes {
        release {
            zipAlignEnabled true
            minifyEnabled false
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

现在运行Lokesh's Answer中的signingReport将显示发布版本的SHA 1和MD5密钥。

在ANDROID STUDIO执行以下步骤:

点击ANDROID STUDIO IDE右侧的Gradle菜单 展开任务树 在signingReport上点击

您将能够在IDE的底部看到签名

一个更简单的方法是在项目根目录下运行。/gradlew signingReport 本文还解释了其他方法

通过cmd进入你的java bin目录:

C: Java程序文件\ jdk1。7 . 0_25 \ bin >

现在在你的cmd中输入以下命令:

keytool -list -v -keystore "c:\users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android