Windows 7 64位上的Android Facebook SDK Hash Key

时间:2013-07-17 23:59:32

标签: android facebook cygwin facebook-android-sdk

问题:

我无法获得功能性的哈希密钥。如果没有在模拟器上安装FB应用程序,它工作正常,但正如@Jesse Chen在关于这个主题的最着名的答案中说的那样,它无法正常工作。

我试过了:

  • 使用openssl-0.9.8k_X64,openssl-0.9.8e_X6和openssl-0.9.8e_WIN32。
  • 使用openssl作为envoronment变量 (http://www.youtube.com/watch?v=LrdUYk1wDlA
  • 使用openssl与它的尊重路径。

  • 使用debug.keystore,它是尊重路径而没有它。

  • 删除debug.keystore并重新生成它以调试FB Samples。
  • 我试过FB tutorial上的说法:

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    // Add code to print out the key hash
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
            "com.facebook.samples.hellofacebook", 
            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) {
    
    }
    

我使用的密钥与使用CMD相同。

  • 我已经安装了Cygwing并尝试使用它的终端来获取哈希值,但我无法让它需要密码..(所以它不起作用)

     EYYO@EYYO-PC /home
     $ wgetexe="/cygdrive/C/Program Files/java/jre7/bin"
    
     EYYO@EYYO-PC /home
     $ "$wgetexe"/keytool -exportcert -alias androiddebugkey -keystore
     /cygdrive/C/Users/EYYO/.android/debug.keystore | openssl sha1 -binary | openssl base64
    

最后,我与您分享一个简短的video模拟器无效的方法。 (不是很有趣)

如果您有任何疑问,请问我。

1 个答案:

答案 0 :(得分:1)

在阅读了数百个有关此问题的网站和问题之后,我觉得FB并没有为这个问题提供解决方案。因此,我决定不在我的Android应用程序中包含该公司的SDK。

<强>此致