2017-10-20 99 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中选择构建变体,然后将调试改为释放。现在再次运行上面的方法,这将生成释放键哈希。

相关问题