2013-05-09 105 views
7

當我嘗試在IntelliJ IDEA中將我的應用程序與包含在我的項目中的Android的FacebookSDK運行時,我被卡住了。無法運行包含Facebook SDK

通過基本的Android樣板,一切都可以構建並運行良好。 但只要我嘗試了Facebook SDK添加到我的項目在this post解釋,我得到多個錯誤:

java: /Users/me/Projects/Android/facebook/src/com/facebook/widget/LoginButton.java:25: package android.support.v4.app does not exist 

java: /Users/me/Projects/Android/facebook/src/com/facebook/widget/LoginButton.java:33: 
cannot find symbol 
symbol : class R 
location: package com.facebook.android 

Project details

詳細截圖:

enter image description here

enter image description here

enter image description here

這是爲什麼,我該如何解決它?

下載:您可以download the test project here

+0

試一試Clean項目和重新啓動編輯器。 – MAC 2013-05-09 19:19:38

+1

謝謝,你究竟是什麼意思?我嘗試了「Build> Rebuild Project」,並在「Settings> Compiler」下勾選了「Clear output directory on rebuild」。 – 2013-05-09 19:25:33

+0

編輯並共享您的項目,以便我們可以查看配置中的錯誤。 – CrazyCoder 2013-05-10 03:43:37

回答

6

與您的項目的問題是,Facebook的SDK模塊具有改變AndroidManifest.xml文件,指定了錯誤的包造成文件R.java在不同的包待產,所以非工作進口。

原始AndroidManifest.xml文件可以發現here

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.facebook.android"> 
    <application/> 
    <uses-sdk android:minSdkVersion="8" /> 
</manifest> 

See also my answer有關正確android-support-v4.jar依賴配置。

+0

完美,非常感謝:)你知道爲什麼AndroidManifest.xml被修改(在我的構建過程中)或者我應該如何包含Facebook SDK?我剛剛發現,當我按照[這裏](https://sites.google.com/site/beardadventures/articles/facebooktoandroidintegration)所述創建一個空模塊時,一切似乎都可以正常工作。 – 2013-05-10 23:20:59

+0

如果您在頂部創建新模塊而不是導入,可能會發生這種情況。 – CrazyCoder 2013-05-11 05:30:50

+0

任何其他可能的診斷?我有完全相同的錯誤,但我的清單xml文件看起來完全一樣,看到這裏。 – Navneet 2013-10-22 10:03:43

2

Android支持v4是android支持庫。它將一些類反饋到較舊版本的SDK。你可以在你的SDK中找到jar文件,在extras下。你需要將它包含在你的項目中。

+0

謝謝,我已將「android-support-v4.jar」添加到我的Facebook庫模塊中。這解決了'android.support.v4'問題。但是'com.facebook.android.R'的問題仍然存在。有任何想法嗎? – 2013-05-09 19:31:46

+0

這似乎是Facebook項目沒有建立或沒有正確鏈接。不幸的是我不知道IntelliJ,所以我無法幫到那裏。 – 2013-05-09 19:33:39

+0

我認爲從facebook項目導入R是由IDE自動導入導致的一個簡單錯誤。只需刪除導入並添加正確的(您的項目的R)。 – 5agado 2013-05-10 16:46:08