【发布时间】:2014-10-07 07:58:24
【问题描述】:
我正在尝试使用 Facebook Android SDK 开发一个带有 Facebook 登录按钮的简单应用程序。但是我在使用密钥哈希时遇到了麻烦。我已经创建了调试密钥和发布密钥:(在 mac 中)
调试键:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
我也试过这段代码
public static void showHashKey(Context context) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
"com.example.me", PackageManager.GET_SIGNATURES); //Your package name here
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
}
然后我在 Facebook 开发人员页面中复制了这个密钥哈希值。当我使用 eclipse 运行我的应用程序时,然后工作。但是当我导出 apk 并将其复制到设备中时,它不起作用。 我还有另一个问题。如果我的设备安装了 Facebook 应用程序,那么也无法正常工作。 我该如何解决我的问题?
【问题讨论】:
-
尝试在你的onCreate中执行
showHasKey的代码(不是函数本身),你会得到另一个hash -
@A.S.我试过了,但结果一样..... :(
-
能否分享您的代码(oncreate)
标签: android eclipse adt android-facebook