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

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


当前回答

我看到了很多关于这个问题的帖子,所以我会保持简单+例子。

要获得SHA1的客户端登录与谷歌+和更多的行动:

一般形式:

keytool -list -v -keystore <your_keystore_full_path> -alias <your_alias_name>

对于调试,替换为调试。例如:

keytool -list -v -keystore C:\Users\DAVID\.android\debug.keystore -alias androiddebugkey

密码:安卓

对于Release,替换为您的keystore路径和别名密码,例如:

keytool -list -v -keystore C:\ProjectsData\keystore\my-release-key.keystore -alias alias_name 

密码:您的别名密码。

其他回答

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

跟随本教程为谷歌Map v2创建SHA1指纹

调试模式:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

释放模式:

keytool -list -v -keystore {keystore_name} -alias {alias_name}

例子:

keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test

在windows下,当keytool命令找不到时,转到您安装的JDK目录,例如<YourJDKPath>\Java\jdk1.8.0_231\bin\,打开命令行,尝试上述命令进行调试/发布模式。

获得SHA1或SHA-256的另一种方式使用./gradlew signingReport

欲了解更多详细信息,请访问 使用Gradle的签名报告

如果你没有Keystore和别名,你可以使用这个命令:

keytool -list -printcert -jarfile app.apk

如果你正在使用Android Studio IDE,那么你可以得到SHA1有价值的所有构建变体,只需点击一下。

在Gradle Projects窗口>选择根项目> signingReport >双击

Next

转到变体:发布为发布

转到变体:调试调试

所有步骤的最佳方式:

对于释放密钥仓库SHA1密钥:

打开命令提示符 C:\Users\ hiren.patel > cd . . C: \用户> cd . . C:\>cd "程序文件" C:\Program Files>cd Java C:\Program Files\ Java>cd jdk_version_code C:\Program Files\Java\ jdk_version_code>cd bin C:\Program Files\Java\ jdk_version_code\bin>keytool -list -v -keystore "D:\Hiren Data\我的根文件夹\我的项目文件夹\keystore_title。-alias my_alias_name -storepass my_store_password -keypass my_key_password

替换以下东西:

jdk_version_code D:\Hiren Data\我的根文件夹\我的项目文件夹\keystore_title.jks my_alias_name my_store_password my_key_password

Done