来自Facebook SDK的R.Java与应用程序R.java冲突

时间:2013-10-17 16:47:49

标签: java android facebook facebook-login r.java-file

我正在尝试将Facebook SDK集成到已完成并正在运行的应用程序中。

Facebook登录活动嵌入在Facebook SDK中,需要在示例中提供生成的R.java。

问题是我的应用程序R.java与Facebook R.java之间发生了冲突,我的应用程序中的图像出现了,而不是Facebook窗口的关闭按钮:

在com.facebook.android/R.java

    public static final int com_facebook_close = 0x7f02000a;

在我的app / R.java

    public static final int hm2x=0x7f02000a;

正如您所看到的,这两个文件具有相同的ID,而facebook登录窗口ID使用错误的文件。

我已尝试在登录活动中导入com.facebook.android.R,但由于Facebook登录窗口位于facebook sdk上,因此无效。

有什么想法吗?

由于

修改

我终于找到了!!!我花了很多时间进行测试。

在项目属性中,SDK被引用为

  

android.library.reference.1 = .. / .. /实

这是eclipse工作区上的项目,但不是存储SDK的真实目录。

确实,Facebook开发者指南说:

  

您必须取消选中“将项目复制到工作区”选项   每个示例项目都保留了对的正确引用   邻居SDK。但是,这意味着Eclipse会创建一个链接   SDK安装中的项目,而不是复制它。

     

(如果您希望将来就地更新SDK,这非常有用   并相应地更新工作区的库项目。然而,   如果您以后选择编辑SDK示例,您可能希望如此   随后用副本重新导入它们,以免影响   原始版本。)

现在,这不起作用,因为看起来重定向会产生一些问题,应用程序找不到它应该的所有sdk组件。

当我手动将链接硬编码到project.properties中的真实SKD时,一切都开始工作了:

  

android.library.reference.1 = .. / .. / Facebook的Android的SDK-3.5.2 /实

1 个答案:

答案 0 :(得分:0)

您应该清理并重建您的项目。这样就可以创建新的R.java而不会出现ID号冲突。