我最近开始研究 facebook API,我遇到了生成哈希 key 并将其注册到 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 参数。该 key 与任何允许的 key 都不匹配 在 https://developers.facebook.com/apps/ 配置您的应用程序 key 哈希…………
请告诉我这个问题的原因以及如何处理。
最佳答案
我遇到了同样的问题,在创建 apk 后, key 散列被更改了!因为使用这段代码你得到了调试 keystore 哈希,但是当创建 apk 时,它是另一个哈希,在模拟器上尝试你的 apk 后必须从日志中捕获它,然后删除代码并在没有这个日志的情况下再次导出,我知道这很麻烦但对我来说它比 keytool 更容易...
关于android - 为 facebook 开发生成哈希键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535184/