2013-02-12 164 views
0

錯誤在我logcat的是:Facebook的錯誤 「登錄錯誤配置」

10月2日至12日:04:54.240:E/SurfaceFlinger的(521):無法打開/ SYS /功率/ wait_for_fb_sleep或/ SYS /電源/ wait_for_fb_wake 02-12 10:04:54.250:D/libEGL(521):找不到egl.cfg,使用默認配置 02-12 10:04:54.260:D/libEGL(521):loaded/system/lib /egl/libGLES_bst.so 02-12 10:04:54.260:W/PGA(521):eglGetProcAddress:「eglGetRenderBufferANDROID」找不到 02-12 10:04:55.260:E/HdIpc(521):Connect failed err = -1 errno = 110(ETIMEDOUT)。每個進程只記錄一次超時日誌 02-12 10:04:55.260:E/PGA(521):無法連接到主機,err = -1,正在重試...每個進程只記錄一次避免淹沒日誌。

當我的手機顯示錯誤,當我按下確定按鈕,這是在fb頁右上角。我也生成散列鍵並將其放入儀表板。當我從我的手機中卸載fb應用程序時,它運行良好。但不適用於fb應用程序。請幫助我

+0

有一種更簡單的方法,查看此響應:http://stackoverflow.com/a/22568861/570612 – unify 2014-03-21 20:28:37

回答

0

有時候,您生成的關鍵散列並不完全正確。 顯然(當然未經證實),它與JRE 1.7有關。

按照下面兩種解決方案之一,你應該很好去。

解決方案1:

嘗試此鏈接:http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1。我發現使用Facebook獲取哈希鍵的方法並不總是像廣告一樣工作。然而,這個鏈接有一個不同的獲取哈希鍵的方法,並且幾乎總是有效。

解決方案2:

話雖這麼說,我總是發現最簡單的事情做的是,讓Facebook的SDK告訴你,你的散列鍵是什麼。這要簡單得多,不應該花費幾分鐘時間。

第1步: 在您的Facebook SDK中,找到Util.java類。在這方面,改變這種:

private static boolean ENABLE_LOG = false; 

到:

private static boolean ENABLE_LOG = true; 

第2步: 創建一個新的簽名 APK,轉移到您的設備和安裝。如果已經安裝,自然會提示。

步驟3:在您的DDMS(Logcat)正在運行且您的設備已連接到計算機的情況下,運行該應用程序,並繼續查找密鑰不匹配警告。該警告有實際哈希鍵。複製該密鑰,轉到您的Facebook開發者頁面並將新密鑰添加到列表中。

0

這是密鑰庫散列鍵的問題。您可以安裝openSSL(下載適合您的系統,即32位/ 64位,這很重要),並使用以下命令生成散列密鑰。這將解決問題。

@echo Exporting keystore cert 
keytool -exportcert -alias myalias -keystore mycert.keystore > mycert.keystore.bin 

@echo Converting to sha1 
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl sha1 -binary mycert.keystore.bin > mycert.keystore.sha1 

@echo Converting to base64 
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in mycert.keystore.sha1 -out mycert.keystore.base64 

@echo Done, Android hash key for Facebook app is: 
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in mycert.keystore.sha1