2013-11-14 98 views
1

我有一個Android應用程序(理論上)可以變成一個庫並放入外部應用程序。外部應用程序可以創建一個包含我的應用程序的選項卡。庫應用程序的設置方式與google-play-services庫類似,代碼存儲在libs文件夾中的jar文件中。無法執行dex:多個dex文件定義... OR NoClassDefFoundError

我遇到的第一個問題是,我是越來越

Unable to execute dex: Multiple dex files define Lcom/MyLibraryApp/R$anim 

當我試圖運行仿真器中的外部應用程序。經過大量的谷歌搜索和死路一條,我可以通過在構建路徑菜單的「訂購和導出」部分取消選中「Android專用庫」來運行外部應用程序。但是,當我去調用到庫的應用程序的標籤,我得到

java.lang.NoClassDefFoundError: com.MyLibraryApp.SplashScreen 

這裏檢查之後,似乎解決方案是重新檢查「Android的私家藏書」。所以我遇到了困難,因爲我檢查了Android專用庫並獲取Multiple Dex Files問題或取消選中它並獲得NoClassDefFoundError。

有沒有人遇到過這類問題?

+0

'android-support-v4.jar'需要在2個應用中保持一致。嘗試將其中一個複製到另一個或從其中一個應用程序中刪除它。 – Apoorv

+0

是的,我已經嘗試過,不幸的是,它沒有解決問題。 – user1776555

+0

原來,問題在於我爲庫應用程序創建的jar包含來自原始應用程序的R.class和Manifest.class文件。 Eclipse/ADT然後在gen文件夾中創建了這些文件的第二個副本。 [這個問題](http://stackoverflow.com/questions/17032157/is-there-a-way-to-get-the-dex-loader-in-android-to-allow-multiple-of-a-class )是什麼讓我看到罐子裏面。 – user1776555

回答

2

原來,問題是我爲庫應用程序創建的jar包含來自原始應用程序的R.class和Manifest.class文件。 Eclipse/ADT然後在gen文件夾中創建了這些文件的第二個副本。 This question是什麼讓我看到罐子裏面。

相關問題