将 Facebook 登录与 android 集成时出现无效哈希键错误
Invalid hash key error while integrating facebook login with android
我看到一条消息说“无效的散列键。散列键 ********** 不是...”。但我将此密钥复制到 MyApp/Settings/keyhash 中。然而是行不通的。
我尝试使用命令 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
生成哈希键。
即使在我使用新密钥更新我的应用程序之后,这也生成了另一个哈希密钥。该应用程序仍然无法运行。
我最初在另一台计算机上安装了这个应用程序,在那里运行良好。才把项目转移到新电脑上,这些问题都来了。
这些是我的 logcat 价值观:
07-28 13:06:40.446 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:40.646 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:40.847 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:41.047 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:41.249 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:41.450 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ debugger has settled (1359)
07-28 13:06:41.627 15812-15812/com.zobbr.mettl.zobbr D/Your Tag﹕ bPx5YeVB5lOVc+oiEwo/VWuV8+k=
07-28 13:06:41.641 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: switch
07-28 13:06:41.641 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: foreignObject
07-28 13:06:41.641 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: pgfRef
07-28 13:06:41.648 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: pgf
07-28 13:06:41.664 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: switch
07-28 13:06:41.664 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: foreignObject
07-28 13:06:41.664 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: pgfRef
使用此代码生成哈希键
try {
PackageInfo info = getPackageManager().getPackageInfo(
"Your package name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
我看到一条消息说“无效的散列键。散列键 ********** 不是...”。但我将此密钥复制到 MyApp/Settings/keyhash 中。然而是行不通的。
我尝试使用命令 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
生成哈希键。
即使在我使用新密钥更新我的应用程序之后,这也生成了另一个哈希密钥。该应用程序仍然无法运行。
我最初在另一台计算机上安装了这个应用程序,在那里运行良好。才把项目转移到新电脑上,这些问题都来了。
这些是我的 logcat 价值观:
07-28 13:06:40.446 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:40.646 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:40.847 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:41.047 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:41.249 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ waiting for debugger to settle...
07-28 13:06:41.450 15812-15812/com.zobbr.mettl.zobbr I/System.out﹕ debugger has settled (1359)
07-28 13:06:41.627 15812-15812/com.zobbr.mettl.zobbr D/Your Tag﹕ bPx5YeVB5lOVc+oiEwo/VWuV8+k=
07-28 13:06:41.641 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: switch
07-28 13:06:41.641 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: foreignObject
07-28 13:06:41.641 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: pgfRef
07-28 13:06:41.648 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: pgf
07-28 13:06:41.664 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: switch
07-28 13:06:41.664 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: foreignObject
07-28 13:06:41.664 15812-15812/com.zobbr.mettl.zobbr D/SVGAndroid﹕ UNRECOGNIZED SVG COMMAND: pgfRef
使用此代码生成哈希键
try {
PackageInfo info = getPackageManager().getPackageInfo(
"Your package name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}