我正在嘗試將Facebook SDK集成到已完成並正在運行的應用程序中。來自Facebook SDK的R.Java與應用程序R.java碰撞
Facebook登錄活動嵌入在Facebook SDK中,並且需要示例中提供的生成的R.java。
的問題是,有我的應用程序R.java和Facebook的R.java從我的應用程序的圖像出現在Facebook的窗口的關閉按鈕,而不是之間的碰撞:
在com.facebook。安卓/ R.java
public static final int com_facebook_close = 0x7f02000a;
在我的應用程序/ R.java
public static final int hm2x=0x7f02000a;
,你可以看到,這兩個文件具有相同的ID,並使用了錯誤的Facebook登錄窗口ID。
我試圖在登錄活動中導入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
您是否嘗試清理該項目? –
@MrSuS是的,我已經完全清理了這個項目。然後我複製了Facebook示例中的R.java,最後我重新生成了重新生成R.java的應用程序。它仍然會產生相同的Ids和碰撞。 – user1778857