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

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


当前回答

跟随本教程为谷歌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的签名报告

其他回答

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

在Flutter Project中继续在vs code中粘贴此命令

设置用户名

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

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

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

使用android studio内嵌Java jre的位置,对于windows用户下面的截图可能有助于找到SHA1