安卓Facebook SDK v4.0无法工作

9

使用Eclipse。SDK Manager已经是最新的了。然而,当我将Facebook SDK导入到我的工作区时,它报了很多错误。

facebook-android-sdk-4.0.0\facebook\res\values\messenger_button_styles.xml:66: error: Error: 找不到与给定名称匹配的资源:属性“android:textAllCaps”。 我从values中删除了它。

无法解析import android.support 我添加了支持v4 '<>'运算符在低于1.7的源级别下不允许 如果我更改编译器,它会产生kitkat以下的错误。当我执行插入推断类型参数时,它就消失了。 此后它会给出bolts库错误。然后我下载了bolts并将其导入。然而这次bolts也给了我很多我无法进一步修复的问题。有什么建议吗?

4个回答

7
Facebook Android SDK v4.0使用Gradle作为构建和依赖关系管理系统。对于Eclipse,可使用http://marketplace.eclipse.org/content/gradle-integration-eclipse-44。并且可以使用http://eclipse.org/m2e/与Facebook的maven artifact进行集成:http://search.maven.org/#artifactdetails|com.facebook.android|facebook-android-sdk|4.0.0| 如果您的目标版本小于API 15,则会出现android:textAllCaps问题。这在Gradle中不会导致构建问题,并且会抑制lint警告,因为它在API版本<15中被忽略。

我将项目作为gradle项目导入,并安装了上面链接中的插件。一切都很好。但是,我无法处理将库用作项目导入的情况。它会将Facebook和Gradle文件夹添加到我的项目中,以及一些Gradle文件,如“settings.gradle”,“build.gradle”,“gradlew”等。但我无法导入com.facebook以在我的活动中使用。有关现有Android项目上gradle集成的任何详细说明。谢谢 - engincancan
如果您的项目已转换为Gradle,您就不需要再通过代码导入Facebook SDK了,只需按照第4步和第5步所述添加一个编译依赖项即可:https://developers.facebook.com/docs/android/getting-started/#androidstudio因此,请删除所有Facebook SDK代码,并将以下内容添加到您应用程序的build.gradle中:repositories { mavenCentral() }dependencies { compile 'com.facebook.android:facebook-android-sdk:4.0.0' } - Gokhan Caglar

4
我也在周末下载了Facebook 4.0.0 SDK,但是遇到了许多错误:
我按照安装3.23.1时的步骤进行了以下操作: 1. 右键单击新的Facebook项目(导入的项目),选择Android Tools,然后选择Add Support Library。 2. 清理项目。
这里是关键部分: 3. 看起来4.0.0版本没有bolts的jar文件。您可以从旧版本的Facebook SDK中作为外部库导入bolts-1.1.2.jar。如果需要详细信息,请告诉我。希望这能帮到您,祝好运!

可以用那个来完成,但是我需要使用v4.0版本以便于实现Messenger功能,而旧版SDK没有这个功能。谢谢。 - engincancan
抱歉造成困惑。您仍然可以使用4.0.0版本,只需从3.23.1导入bolts-1.1.2.jar作为外部jar包即可。 - Johnny Wu

3

想要使用它来进行日食跟踪,这是最佳解决方案

  1. 前往此URL并下载zip文件 GitHub
  2. 然后解压缩zip并打开文件夹facebook-android-sdk-master,其中包含一个libs文件夹。将该文件夹复制并粘贴到Facebook SDK根目录中。

现在将其导入Eclipse,并在Eclipse中右键单击它并按照下一步操作

  1. 现在选择Facebook SDK并将其编译API更改为4.4或更高版本

  2. 现在进入src>com.facebook> AccessToken,在其中的HashSet/ArrayList和cursor处显示建议将其更改为jre 1.7,只需完成即可

成功


1

我遇到了与最新的Facebook SDK 4.6.0相同的问题。

我按照以下步骤解决了这个问题:

  1. AndroidManifest.xml中添加以下代码<uses-sdk android:minSdkVersion="15"/>或更高版本。
  2. 项目 > 属性 > Android中选择Android 4.4.2以解决使用java 1.7编译的问题。
  3. 在项目文件夹中创建一个名为libs的文件夹,然后将android-support-v4.jar../android-sdk-linux/extras/android/support/v4复制到libs中。
  4. 从此链接https://github.com/BoltsFramework/Bolts-Android下载bolts.jar
  5. bolts-android-ver.jar复制到libs中。
  6. 清理你的项目。

享受吧...希望对你有所帮助。


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