2013-02-12 158 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