2017-10-20 129 views
0

我做keyhashes使用此命令如何獲得facebook facebook應用程序的密鑰哈希值?

keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64 

生成調試和釋放keyhash。但是,只有當facebook應用程序未安裝在設備上時,這些鍵才能起作用。如果已經安裝了另一對哈希值的要求(共4個鍵),我不anderstand如何讓這些2個鍵(我讓他們當Facebook SDK返回錯誤信息xxxx key is not registered

+0

安裝FB應用程序時,您需要使用release keyhash。在完成最終版本發佈後,如果出現相同的錯誤,只需在手機上覆制消息中的keyhash並添加到控制檯。它應該工作。 –

回答

0

嘗試這樣

public static void printHashKey(Context pContext) { 
     try { 
      PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES); 
      for (Signature signature : info.signatures) { 
       MessageDigest md = MessageDigest.getInstance("SHA"); 
       md.update(signature.toByteArray()); 
       String hashKey = new String(Base64.encode(md.digest(), 0)); 
       Log.i(TAG, "printHashKey() Hash Key: " + hashKey); 
      } 
     } catch (NoSuchAlgorithmException e) { 
      Log.e(TAG, "printHashKey()", e); 
     } catch (Exception e) { 
      Log.e(TAG, "printHashKey()", e); 
     } 
    } 

這將產生調試密鑰散列,如果你想釋放密鑰散列,請在android studio中選擇構建變體,然後將調試改爲釋放。現在再次運行上面的方法,這將生成釋放鍵哈希。

相關問題