我最近开始研究facebook API,在这种情况下我生成Hash密钥并在Facebook上注册以供进一步使用。
为此,我使用了以下代码
PackageInfo info;
try {
info = getPackageManager().getPackageInfo("com.you.name", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
//String something = new String(Base64.encodeBytes(md.digest()));
Log.e("hash key", something);
}
} catch (NameNotFoundException e1) {
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
一切顺利,因为我能够在我的应用程序中使用facebook。
但是,在playstore上发布应用程序后,我发现了错误Invalid_Android_key参数。密钥与任何允许的密钥都不匹配在https://developers.facebook.com/apps/ ..........
配置您的应用密钥哈希值请让我知道这个问题的原因以及如何解决这个问题。
答案 0 :(得分:1)
我有同样的问题,在创建apk后,密钥哈希发生了变化!因为使用这段代码你得到调试密钥库哈希,但是当创建apk时,它是另一个哈希,在模拟器上尝试你的apk后必须从日志中捕获它,然后删除代码并再次导出没有这个日志,我知道这是一个麻烦,但对我来说它比keytool更容易......