2013-02-07 74 views
8

我爲我的應用程序創建了一個庫項目。當我嘗試將庫添加到項目中,我得到的嘗試運行它時,下面的錯誤:

[2013-02-07 04:51:26 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr; 
[2013-02-07 04:51:26 - testfromlibrary] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr; 

我已經加入了HoloEverywhere庫到我的圖書館,而我已經添加了ActionBarSherlock庫HoloEverywhere。我在Windows 7上使用Eclipse。

即使我已將SDK更新到最新版本,重新啓動Eclipse並清理了各個項目,錯誤仍然存​​在。

有沒有人有任何想法如何解決這個錯誤?我的bin dir未包含在屬性下的構建路徑中,我已嘗試完成deleting the bin folder

謝謝!

回答

5

我將錯誤的原因指向了/ bin/classes。如果我在運行應用程序之前刪除了/ classes目錄,應用程序將編譯並運行。當然,當我試圖實際導出應用程序時,/ classes目錄會回來並且出現錯誤。

我的問題的解決方案是安裝最新版本的Eclipse。當我通過最新的Eclipse安裝導出或運行應用程序時,/ classes文件夾現在不會顯示。

+0

我的問題的解決方案是,我刪除了我複製粘貼在項目的lib文件夾中的jar文件。我明確導入了構建路徑中的外部罐子。 –

1

今天我有同樣的問題。我刪除了/ bin中的.apk文件,似乎解決了這個問題。

+0

嗨@Matthew,謝謝你的回答。如前所述,我通過安裝最新版本的Eclipse來解決問題。 –

8

當我使用actionbarsherlock創建庫時,會發生此問題。在這種情況下,eclipse在我的庫中和使用它的項目中從sherlock創建R。

解決方法是在庫bin文件夾中只刪除包含R類的文件夾actionbarsherlock。這個inst創建了,只存在於你的項目應用程序中。

3

這個問題對我來說是重複的類文件。我在同一個項目中包含了包本身和包的jar sdk(在libs文件夾中)。

2

確保兩個項目(庫和應用程序)不具有相同的包名(在AndroidManifest內)

18

我發現,如果我進入屬性 - > Java構建路徑 - >在線訂單和出口,並刪除Android私人圖書館,然後我的項目建好。有另一個支持v4 jar在那裏是與操作欄sherlocks支持v4衝突與庫

+1

爲我工作。謝謝! – mboy

3

這發生在我後,我改變了一個常規的Android項目庫項目,以便使用它的免費/付費項目拆分集向上。

運行免費/付費項目將導致OP錯誤。

當基礎項目是一個普通項目而不是一個庫項目時,問題是一些遺留編譯的東西。 只需清理工作區並重建所有項目。舊的編譯垃圾將被刪除,並且所有內容都將被編譯到正確的庫中。 嘗試重新運行給出錯誤的項目,現在一切都應該正常。

0

從構建路徑中刪除所有的庫,並導入你想實現的庫項目..這工作得很好..

0

您可以使用Tattletale

它可以幫助你確定你的JAR文件複製類。

希望它有幫助。

0

對於Android Studio - 我刪除了重複的.jar導入並已解析。

詳情: 我有一個應用程序,有一個底座/普通文件夾,然後兩塊從繼承的文件夾 - 該應用程序的免費和付費版本。當我將/ common文件夾和/ free文件夾都包含在項目結構中的同一個crashlytics jar文件中時,問題就產生了。

0

對我來說,解決方案是刪除「bin」文件夾/目錄中的每個JAR文件。

0

如果您的項目正在引用一個庫項目 - 請檢查庫項目是否與您在項目中使用的庫相同,但是不同版本。到處使用相同的版本,一切都應該沒問題!

相關問題