gpt4 book ai didi

java - Facebook SDK 中的 R.Java 与应用程序 R.java 发生冲突

转载 作者:行者123 更新时间:2023-12-01 04:16:03 24 4
gpt4 key购买 nike

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

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

问题是我的应用程序 R.java 和 Facebook R.java 之间存在冲突,并且出现了我的应用程序中的图像,而不是 facebook 窗口的关闭按钮:

在 com.facebook.android/R.java

    public static final int com_facebook_close = 0x7f02000a;

在我的应用程序/R.java

    public static final int hm2x=0x7f02000a;

如您所见,两个文件具有相同的 id,但 facebook 登录窗口 id 使用了错误的 id。

我尝试在登录 Activity 中导入 com.facebook.android.R,但它不起作用,因为 facebook 登录窗口位于 facebook sdk 上。

有什么想法吗?

谢谢

编辑

终于找到了!!!我经过大量测试才意识到。

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

android.library.reference.1=../../facebook

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

事实上,Facebook 开发者指南说:

You must unselect the 'Copy projects into workspace' option so that each of the sample projects retains a correct reference to the neighboring SDK. However, this means that Eclipse creates a link to the project in the SDK installation, rather than making a copy of it.

(This is useful if you expect to update the SDK in-place in the future and have your workspace's library project update accordingly. However, if you choose to edit the SDK samples in the future, you may wish to subsequently re-import them with a copy so as not to affect the original versions.)

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

当我在project.properties中手动硬编码指向真实SKD的链接时,一切开始工作:

android.library.reference.1=../../facebook-android-sdk-3.5.2/facebook

最佳答案

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

关于java - Facebook SDK 中的 R.Java 与应用程序 R.java 发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com