[英]Facebook Android SDK 3.0 always returns OPENING when logging in
[英]How to enable logging in facebook SDK 3.0?
最近我試圖獲取我的使用Facebook的Android應用程序的哈希鍵。
問題是通過命令提示符的方法對我不起作用。
所以我找到了一個新的解決方案,說你可以使用facebook消息產生一條錯誤信息,它會自動給你一個哈希鍵。
他們說你應該設置私有布爾值ENABLE_LOGGING = false; 在facebook util.java類中為true。 問題是我在類中沒有看到啟用日志記錄應該去的地方。
誰能告訴我如何讓sdk打印出logcat中的日志?
要啟用日志記錄,請調用函數Settings.addLoggingBehavior(LoggingBehavior behavior)
例如,如果要顯示請求信息調用
Settings.addLoggingBehavior(LoggingBehavior.REQUESTS);
您可以檢查LoggingBehavior類以調試其他操作: https : //developers.facebook.com/docs/reference/android/3.0/LoggingBehavior
根據Pascal對類似線程的評論,此方法自2012年12月起無效。因此,您必須使用commandprompt方法來獲取正確的哈希鍵。
“ENABLE_LOG cannet自2012年12月起再次改變 - 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發布此方法。
通常,Android庫可以使用BuildConfig.DEBUG
來確定應用程序是否處於調試模式。 但是,由於Gradle中的錯誤,Android庫總是在DEBUG
設置為false的情況下構建。 作為解決方法,有一個FacebookSdk.setIsDebugEnabled(boolean)方法,因此您可以直接從您的應用程序設置調試模式。 這樣可以從SDK啟用調試日志記錄。
您還可以使用FacebookSdk.addLoggingBehavior(LogginBehavior)設置日志記錄行為,以便為不同類別的消息啟用日志記錄。 請參閱Android SDK參考, LoggingBehavior 。
從這里開始 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.