我正在尝试将 FB 集成到 android 应用程序。为此,我在 Windows 7 中使用 cmd 工具获取密钥哈希。
命令:
C:\adt-bundle-windows-x86-20130219\sdk\platform-tools>keytool -exportcert -alias
andrpoiddebugkey -keystore "C:\Users\naresh.repalle\.android\debug.keystore" |
"C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" base64
输入密钥库密码:android
BASE_64_HASH_1
我在控制台中将密钥哈希(从cmd
)设置为应用程序,fb developer
然后尝试在设备中运行它后,我得到了错误,因为remote_app_id 与存储的 id 不匹配。
用于使用开发人员控制台重新检查密钥哈希。我在我的应用程序中做了一些编码。使用这个我得到密钥哈希。我正在尝试匹配这两个关键哈希,但它们是不同的。因此,我将这两个设置为关键哈希,但这次我收到错误为“未指定节点”。为什么这两个关键哈希是不同的?为什么会发生这些错误。谁能帮我。
// 添加代码以打印出密钥哈希
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.android.example",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在这里,我将密钥散列为“BASE_64_ENCODED_HASH_2”。我在同一台机器上做了这个。为什么这两个关键哈希是不同的?