如何在Facebook SDK 3.0中启用日志记录?

4
最近我在尝试获取用于我的使用Facebook的Android应用程序的哈希密钥。但是,通过命令提示符的方法对我来说不起作用。
所以我找到了一个新的解决方案,它说可以使用Facebook消息生成错误消息以自动获取哈希密钥。
他们说你应该将“Facebook util.java”类中的私有布尔值“ENABLE_LOGGING = false”设置为true。但问题是我没看到这个类中哪里需要启用日志记录。
请问有人能告诉我如何让SDK在Logcat中输出日志记录吗?
3个回答

3

2
通常情况下,Android库可以使用BuildConfig.DEBUG来确定应用程序是否处于调试模式。然而,由于Gradle中的一个错误,Android库总是以DEBUG设置为false进行构建。为了解决这个问题,有一个FacebookSdk.setIsDebugEnabled(boolean)方法,因此您可以直接从您的应用程序设置调试模式。这使得SDK可以进行调试日志记录。
您还可以使用FacebookSdk.addLoggingBehavior(LogginBehavior)设置日志行为,以启用不同类别消息的日志记录。请参阅Android SDK参考文档中的LoggingBehavior
来自此处

0

根据Pascal在类似帖子中的评论,自2012年12月以来,此方法已不再有效。因此,您将需要使用命令提示符方法来获取正确的哈希密钥。

"自2012年12月起,无法再更改ENABLE_LOG - Pascal Klein于2月24日下午3:41" 这里是该帖子的链接:Android: Facebook登录无法使用

我尝试了几个命令提示符命令,现在我终于找到了一个适合我的方法。我希望它也适用于您。(我使用的是x64 Windows 7)

下载此版本的openssl:openssl for x64 Windows

在C:\目录下创建一个名为openssl的文件夹。

openssl文件夹中解压openssl zip文件。

前往 keytool.exe 的位置 (C:\Program Files (x86)\Java...\bin)

按住 Shift 键,右键单击 bin 文件夹并打开命令提示符窗口。

输入以下内容:

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\"username"\.android\debug.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" base64 

(将“username”替换为您的用户名。当然不要加引号)

您必须输入密码:android

您的哈希密钥应该出现了。(如果在密钥中得到了“=”,请勿删除它。它是密钥的一部分)

祝您构建应用程序好运!

感谢C Abernathy发布此方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接