GVKun编程网logo

带有Android Facebook SDK的keytool(facebook.sdk)

14

对于带有AndroidFacebookSDK的keytool感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解facebook.sdk,并且为您提供关于#import"facebookSDK/

对于带有Android Facebook SDK的keytool感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解facebook.sdk,并且为您提供关于#import "facebookSDK/FacebookSDK.h file not found"、Android AddThis sdk Facebook sdk无法在Android Studio中构建、Android Facebook SDK 3.0 auth、Android Facebook SDK 3.23.0-FB在AndroidTV上登录的宝贵知识。

本文目录一览:

带有Android Facebook SDK的keytool(facebook.sdk)

带有Android Facebook SDK的keytool(facebook.sdk)

我只想要一些确认。

我在Windows上开发

我正在尝试将Facebook集成到应用中,并且SDK文档说我需要“导出签名”

从这里:http :
//developers.facebook.com/docs/guides/mobile/#android

因此它说运行此命令:

 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

首先,我必须下载openssl:OpenSSL

现在,假设上面的命令应该转换为:

"C:\path\to\java\keytool" -exportcert -alias your_alias -keystore "C:\path\to\your\keystore\keystore.name" | "C:\path\to\openssl_install\bin\openssl" sha1 -binary |"C:\path\to\openssl_install\bin\openssl" base64
  • 因此,您想要安装在最新的Java安装文件夹中的keytool吗?
  • 您想让别名成为您在Eclipse中创建普通APK时使用的别名的名称吗?
  • 您想让密钥库成为导出Android应用程序时使用的密钥库吗?
  • 您希望openssl成为您刚安装的

因此,一旦完成此操作,它将要求输入密码:(输入时会显示密码)

如果输入正确的密码,我会得到

‘zR2tey1h9kqPRSW / yEYEr0ruswyD =’(已公开更改)

但是,如果我输入了错误的密码,它仍然会以以下形式返回我的代码:

‘ga0RGNYHvTR5d3SVDEfpQQAPGJ1 =’?

是的,我只是想确认我在做正确的事,这就是预期的输出

答案1

小编典典

是的,我以正确的方式进行操作。我也执行此命令并将此哈希值放入我的fb应用程序中,并且其工作正常。

#import <FacebookSDK/FacebookSDK.h>

#import "facebookSDK/FacebookSDK.h file not found"

第一种可能: 从window下上传到mac 下 facebook sdk出错!【这个是系统的错误,只能从其他地方拷贝 FacebookSDK.framework 文件夹 就ok】,下图是正常状态,【不正常的状态下,这几个文件直接是物理文件了】

第二种可能 ,设置读取路径错误


在mac下 project下找到build setting ,再找 searchPath,点击Framework search paths 设置路径即可

"$(SRCROOT)/xxx/xxx/FacebookSDK.framework"

Android AddThis sdk Facebook sdk无法在Android Studio中构建

Android AddThis sdk Facebook sdk无法在Android Studio中构建

我有一个正在Android Studio中处理的项目,当前使用Facebook SDK来检索有关Facebook用户的一些信息.效果很好.

我还需要实现AddThis,但是当我尝试同时引用两个SDK编译该项目时,出现错误消息:

Android Dex: [<removed>] com.android.dx.util.DexException: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;

如预期的那样,在AddThis .jar中,存在com.facebook.android.AsyncFacebookRunner.显然,它也存在于Facebook SDK模块中.我在AddThis中需要的功能在Facebook中不存在,反之亦然.

有谁知道处理这种情况的方法?

解决方法:

我能够解决此问题:

由于Facebook SDK是模块而不是jar,因此我从Facebook SDK模块引用了AddThis0.8.8.jar,并从我的项目中直接删除了对它的引用.

这样做之后,Facebook SDK中的com.facebook.android.*与AddThis jar中的副本(com.facebook.android.*)之间仍然存在冲突.因此,我从Facebook SDK中删除了com.facebook.android程序包及其内容-然后将com.addthis包含在(类路径中,我认为?当我在代码中键入“ ATButton”时,Android Studio建议将其包含在内.说:“哎呀,谢谢JetBrains!”).

现在,我可以使用AddThis以及Facebook SDK,而不会发生任何冲突.

我希望这个过程可以以某种方式帮助某人.

[编辑]

仍然存在问题.我还原了Facebook SDK,并从AddThis jar中删除了Facebook内容.不是100%仍在工作,但将所有Facebook内容保留在Facebook模块中可能是一个更好的主意.如果您有更好的解决方案,请提供答案.

Android Facebook SDK 3.0 auth

Android Facebook SDK 3.0 auth

我实际上是在关注facebook sdk示例中的SessionLoginFragment.java示例.

我真正不明白的是:

我做的时候

session.openForRead(new Session.OpenRequest(fragment).setCallback(statusCallback));

将我的用户登录到Facebook并询问基本读取权限(仅测试集成)它根本不起作用.

我用调试器挖了一下,然后按照路径行进.如果你没有将requestCode放到会话的OpenRequest中,它会给它一个随机的(这没关系).

openForRead(我的实际会话处于CREATED状态)将创建权限对话框.当您点击“确定”按钮时,它将执行一个

request.getStartActivityDelegate().startActivityForResult(intent, request.getRequestCode());

您可以从fb sdk源代码中看到代码.请求代码与会话相同(这里没问题).

当fb登录系统时,它将完成他的facebook.LoginActivity并在我的活动中回复我的onActivityResult.问题是这里requestCode与请求的不同.我不知道它为什么以及它来自哪里!

如果我进入我的fb帐户,我的应用程序就在那里,这意味着我已经完成了正确的身份验证流程.但是由于这个问题,我不会从我的应用程序中正确地进行身份验证.

你知道为什么以及如何解决它?

谢谢.

流量细节更新:

这是实际流程(来自片段):

session.openForRead(new Session.OpenRequest(fragment).setCallback(statusCallback));

创建后,请求代码(始终)为64206
现在openForRead流程将调用(最后部分)

request.getStartActivityDelegate().startActivityForResult(intent, request.getRequestCode());

从facebook SDK调用LoginActivity并执行客户端/服务器验证/ oauth

现在,我的活动被称为onActivityResult(不在片段上,而是在活动部分)

在这里我打电话

Session.getActiveSession().onActivityResult(activity, requestCode, resultCode, data);

这里requestCode是requestCode 129742

这怎么可能?正如我已经说过的,所有这一流中的问题是返回onActivityResult的requestCode与pendingRequest requestCode不同,并且这个中断(getActiveSession().onActivityResult返回而不执行代码)登录客户端部分.

解决方法:

我遇到了同样的问题,除了在我的情况下违规的requestCode是326350(0x4face).我确实在调用super.onActivityResult,所以workaround proposed by Eric Savage已经到位但效果不佳.最奇怪的是,这些东西在几周前就已经发挥作用了,并且在没有自己升级任何东西的情况下出现了违规行为(Facebook SDK版本,Android版本,支持库版本,甚至我正在开发/测试的手机,都是就像我工作时一样).

然而,Eric的答案包含其他有趣的提示,我利用它来使我的代码再次工作.基本上,我没有将整个requestCode传递给Session.onActivityResult,而是将最低16位切换为仅传递.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session session = Session.getActiveSession();
    int sanitizedRequestCode = requestCode % 0x10000;
    session.onActivityResult(this, sanitizedRequestCode, resultCode, data);
}

我相信这是一个应该在Facebook SDK中修复的错误,并且会坚持要为下一个版本修补它.

Android Facebook SDK 3.23.0-FB在AndroidTV上登录

Android Facebook SDK 3.23.0-FB在AndroidTV上登录

有没有人有使用Facebook SDK在AndroidTV上执行Facebook登录的经验?

由于最常见的情况是AndroidTV用户不会在AndroidTV设备上安装实际的Facebook应用程序,因此Facebook SDK将打开一个WebView,以允许用户输入他的Facebook凭据并登录.

问题是显示的Web视图无法对d-pad动作做出响应,并且输入文本的字段并不表示已选择它们.

我是否可以假设使用标准Facebook SDK功能无法通过Facebook登录AndroidTV?

解决方法:

正确.另外,Facebook API当前不支持Android TV.因此,您无法在Android TV上使用Facebook登录构建应用程序(除非您想为其编写自己的库).因此,没有D-Pad支持和文本字段的混乱功能.

关于带有Android Facebook SDK的keytoolfacebook.sdk的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于#import "facebookSDK/FacebookSDK.h file not found"、Android AddThis sdk Facebook sdk无法在Android Studio中构建、Android Facebook SDK 3.0 auth、Android Facebook SDK 3.23.0-FB在AndroidTV上登录等相关内容,可以在本站寻找。

本文标签: