Facebook登录将无法解析toByteArray()

Roh*_*gga 7 java android facebook facebook-android-sdk

我正在构建一个需要Facebook登录和身份验证的应用程序.

我跟着

https://developers.facebook.com/docs/android/getting-started#create-app

我收到了这个错误:当我点击facebook登录按钮时:

在此输入图像描述

多个帖子说这段代码应该解决错误

Facebook登录android时密钥哈希不匹配

:

  try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.hitup.hitup",
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
        }
        catch (NameNotFoundException e) {

        }

        catch (NoSuchAlgorithmException e)
        {

        }
Run Code Online (Sandbox Code Playgroud)

但是toByteArray()方法无法解决!

在此输入图像描述

如何解决此错误并实现我的应用程序的简单facebook登录?

Vai*_*iya 6

from Logcat you can get hash key of facebook please do copy from logcat which having Logcat tag "KeyHash" and put it in your project on developer.facebook site 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

import android.content.pm.Signature;

      try {
        PackageInfo info = getPackageManager().getPackageInfo(
                **"do not forgot to your package name"**, PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:",
                    Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }



OR 

1. for Android default keystore  : add this to in your terminal 
 
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

2. for signed keystore 

keytool -exportcert -alias aliasname -keystore keystorename | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)