在Linux操作系统(Ubuntu)中生成发布密钥哈希:Android Facebook SDK

12
我该如何在Ubuntu上生成正确的发布密钥哈希? 我已经参考了这个,但是我没有得到答案。

你所提到的解决方案就是你需要的。你能够运行这个命令吗? - Logain
@Logain,我得到了我所寻找的两个解决方案。谢谢。 - pRaNaY
1个回答

24

尝试多次后,我找到了一个解决方案,可以为fragment生成发布密钥哈希。

try {
        PackageInfo info = getActivity().getPackageManager().getPackageInfo(
                "com.yourappname.app",
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash", "KeyHash:" + Base64.encodeToString(md.digest(),
                    Base64.DEFAULT));
            Toast.makeText(getActivity().getApplicationContext(), Base64.encodeToString(md.digest(),
                    Base64.DEFAULT), Toast.LENGTH_LONG).show();
        }
    } catch (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

enter image description here

我从这里得到了一个命令,可以在终端上生成发布密钥哈希。

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

GET_SIGNATURES已被弃用。 - Pratik Butani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接