我正在尝试在 Google Play 上发布我的应用程序。我的应用中有 Facebook 登录。直到昨天,一切都运行良好,直到我使用debug.keystore
. 但是当我使用自己的发布密钥并签署我的应用程序时,Facebook 没有登录,我似乎无法弄清楚原因。
按照这个链接,也做了所有的事情:所以:key-hash-for-android-facebook-app
我更换了机器,也更换了平台(windows 和 mac osx ML)以获得解决方案,但同样的问题。它没有登录。下面的代码在我使用 debug.keystore 时为我提供了正确的哈希密钥,当我使用不同的密钥签署应用程序时,我得到相同的哈希密钥(经过大量试验,我得出的结论是我得到的密钥是错误的)
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());
}
那么在使用发布密钥对应用程序进行签名时,我们是否需要采取任何额外的步骤。请帮忙。