2013-05-08 30 views
0

我使用Facebook的SDK項目在我自己的項目可以將其作爲我的工作空間內庫,如:利用資源(在Facebook SDK爲JAR)

項目屬性 - > Android的 - >添加.. - > Facebook SDK

像這樣我可以訪問此項目中的類和資源。例如,在我的佈局文件我有:

android:drawable="@drawable/com_facebook_loginbutton_blue_normal" 

但是,如果我想改變我使用Facebook的SDK項目的方式,出口簡單,它爲JAR文件,並將其添加在我的應用程序庫文件夾,我有錯誤:

error: Error: No resource found that matches the given name (at 'drawable' with value '@drawable/com_facebook_loginbutton_blue_normal'). 

如何訪問我的jar文件中的資源?

+0

更新後的帖子,檢查 – CRUSADER 2013-05-08 12:06:41

回答

1

簡短的回答是,你不能。 Facebook SDK是一個android庫,並且正在發佈,因此應該這樣使用。試圖將它作爲一個jar文件導入將不起作用。你有一個特定的用例需要你只使用jar庫嗎?

+0

Android完全針對資源問題使用庫項目。圖書館項目負責將所有資源合併到最終的APK中,並確保它們都可以通過ID訪問。這些ID是整數(當您查看生成的R文件時可以看到這些整數)。所以這是不可能的捆綁他們在一個罐子裏,除非你在一個完全不同的方式加載它們,這些必須是APK中是唯一的。 (的getResourceAsStream(),但吮吸,因爲它不處理的屏幕尺寸和分辨率的問題。) – 2013-05-08 16:35:13

+0

我只是想讓我的獨立項目。如果我需要與其他人同步我的項目,其他用戶需要爲主項目工作導入項目Facebook SDK。 – user2340677 2013-05-09 10:27:24

0

從我能理解..

也就是說,是因爲這可繪製資源在不同的包比你,嘗試用完整的包名訪問它

編輯

我的意思被添加

android:drawable="@packageName:drawable/com_facebook_loginbutton_blue_normal" 

像這樣: -

android:drawable="@com.google.android:drawable/com_facebook_loginbutton_blue_normal" 

我不知道在Android SDk 中定義了什麼包名稱,因此請相應地更改包名稱

希望這會有所幫助。

+0

你會建議什麼?對不起,但我迷路了。在我的罐子路徑將是:資源 - >繪製 - > name_of_picture – user2340677 2013-05-08 11:54:56

+0

在我來說,我將有:「@ com.facebook.android:繪製/ com_facebook_loginbutton_blue_pressed」,但仍然沒有工作:沒有資源發現在給定的名字相匹配(在'drawable'處,值爲'@ com.facebook.android:R $ drawable/com_facebook_loginbutton_blue_pressed')。 – user2340677 2013-05-08 12:19:30

+0

您是否已正確導入該外部jar文件。 [檢查此鏈接](http://stackoverflow.com/a/6859020/2345913)。讓我知道你的問題是否已解決。 – CRUSADER 2013-05-08 12:31:40