我正在开发一个应用程序,用户可以使用Facebook登录。
我已经创建了以下哈希密钥:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.app.package",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash", "KeyHash:"+ Base64.encodeToString(md.digest(),
Base64.DEFAULT));
Toast.makeText(getApplicationContext(), Base64.encodeToString(md.digest(),
Base64.DEFAULT), Toast.LENGTH_LONG).show();
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在调试模式下,一切正常。
但是当我将项目导出发布时,出现了以下错误:
"Invalid key hash. The key hash ****************** does not match any stored key hashes"
我把在Facebook Developer dashboard中打印的密钥粘贴上去,但应用程序仍然给我报错。
我的完整活动包名称是“com.app.package.views
”,我尝试在dashboard中使用这个包名(作为Google Play 包名),但没有任何变化。
我该怎么解决?我如何生成正确的发布密钥哈希值?