Jesse Chen的回答很好。Facebooks SDK 工作正常,不要破坏它。
我再次遇到了这个问题,发现 Facebook SDK 文档已更正,现在非常好。现在指导如何调试和释放可以设置的哈希键;照它说的做。
下面是我的老故事。缺少您可以设置两个哈希键,一个用于调试,一个用于为旧的Play Store签名、发布的应用程序。
我发现问题出在我的 Facebook SDK 文档中。它指导我们使用调试密钥哈希并将其放入 Facebook 的应用程序配置中。哈希被引导以这种方式获得:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
当您从Eclipse调试或运行应用程序时,这可以正常工作。
但是,如果您将应用程序发布到 Andoid Play,您必须使用自己的发布者密钥来导出签名的 .apk 文件。使用该 .apk,Facebook 应用程序控制台中的哈希不再有效!您必须像这样获取开发人员密钥的哈希:
keytool -exportcert -alias <developer alias> -keystore ~/.android/<developer keystore> | openssl sha1 -binary | openssl base64
并将其放入 Facebook 应用程序控制台中的 Android Key Hash 中,以供您发布的应用程序使用。之后,SSO 再次为您签名的 .apk 文件正常工作。