我使用此命令进行了关键字
keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64
生成调试和释放keyhash。但是,这些键对只有在设备上没有安装facebook应用程序时才有效。如果安装了另外一对哈希(总共4个键),我不会理解如何获得这两个键(我在facebook sdk返回错误消息xxxx key is not registered
时得到它们)
答案 0 :(得分:1)
试试这个
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中选择构建变体,然后将debug更改为release。现在再次运行上面的方法,这将生成释放密钥哈希。