我正在尝试将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 /实
答案 0 :(得分:0)
您应该清理并重建您的项目。这样就可以创建新的R.java而不会出现ID号冲突。