尝试添加下面的代码片段到你的应用程序,而它的同版本的证书签名,比较你提交给Facebook的门户网站之一的散列输出:
PackageInfo info;
try {
info = getPackageManager().getPackageInfo("com.package.name", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String hash= new String(Base64.encode(md.digest(), 0));
Log.e("hash", hash);
}
} 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门户中。它与错误消息中的密钥不同。 – tamird14
发布你的应用程序与发行证书并运行该片段,它将显示发行证书的散列 –
如果我尝试通过android studio运行应用程序,它使用调试密钥库(它从谷歌播放卸载我的应用程序并安装一个新的一个)。如果我从谷歌播放运行应用程序,我会在哪里看到日志消息? – tamird14