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

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


当前回答

在Windows操作系统下打开“命令提示符”,进入以下文件夹。

C:\Program Files\Java\ jdk1.7.0_05 \ bin

使用cd <下一个目录名称>命令将目录改为下一个目录。 使用命令cd ..将目录更改为“上一页”

现在输入下面的命令:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

其他回答

在你的应用程序中使用谷歌播放应用程序签名功能和谷歌api集成?

如果您正在使用谷歌Play应用程序签名,请不要忘记谷歌API凭据所需的发布签名证书指纹不是您通过此方法从应用程序中获得的常规上传签名密钥(SHA-1):

您只能从谷歌Play控制台的App签名页面获得您的SHA-1版本,如下所示

如果您使用谷歌Play应用程序签名,谷歌将重新签名您的应用程序。这就是谷歌Play应用程序签名如何提供签名证书指纹的方式,如下所示:

如果使用“谷歌播放应用程序签名”,如何获得发布SHA-1(签名证书指纹)

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

运行你的项目 点击Gradle菜单 展开Gradle Tasks树 双击android -> signingReport,看看魔术吧 它将在Run选项卡上告诉您所有信息

如果Android Studio < 2.2 .

来自android studio 2.2 结果将在运行控制台下可用,但使用高亮切换按钮

或 第二种方法是 在android studio new ->谷歌地图活动中创建新项目

然后打开google_maps_api.xml xml文件如图所示,你会看到你的SHA密钥

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

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

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

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

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

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

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

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