好吧,首先,我知道,很多用戶在stackoverflow中多次提出這個問題。我研究了所有可能的解決方案,但仍然存在問題。Android庫項目「java.lang.NoClassDefFoundError」
問題:
我的IDE:Eclipse的 標準/ SDK
版本:開普勒發佈 版本ID:20130614-0229
我有一個Android庫項目,稱爲MB-FW-機器人。在這個項目中屬性 - > android - > Is Library - 被選中;
我有另一個項目叫mb-revise-android,它需要使用mb-fw-android。我心中已經嘗試:
1)轉到MB-修正功能的Android - >屬性 - > Android的 - >添加的Android庫 - >啓動工程中的
結果是:
02-26 12:04:19.960: E/dalvikvm(11678): Could not find class 'ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider', referenced from method ru.tsi.maksbm.android.revise.model.Model.<init>
02-26 12:04:19.976: E/AndroidRuntime(11678): FATAL EXCEPTION: main
02-26 12:04:19.976: E/AndroidRuntime(11678): java.lang.NoClassDefFoundError: ru.tsi.maksbm.android.config.AndroidFilePropsIOProvider
02-26 12:04:19.976: E/AndroidRuntime(11678): at ru.tsi.maksbm.android.revise.model.Model.<init>(Model.java:117)
02-26 12:04:19.976: E/AndroidRuntime(11678): at ru.tsi.maksbm.android.revise.model.Model.createInstance(Model.java:64)
02-26 12:04:19.976: E/AndroidRuntime(11678): at ru.tsi.maksbm.android.revise.ReviseStartActivity.onCreate(ReviseStartActivity.java:70)
...
2)添加android庫項目作爲一個經典的依賴項目。 MB-修正功能的Android - >屬性 - >構建路徑 - >項目 - >添加,然後順序和出口 - >檢查MB-FW-Android項目
還是同樣的錯誤
3)取消選中MB-FW- android IsLibrary複選框,並嘗試(2)。結果相同
4)取消勾選mb-fw-android IsLibrary複選框,執行它就像.apk,進入/ bin文件夾並找到mb-fw-android.jar。將這個.jar文件粘貼到mb-revise-android「libs」文件夾中,並勾選「訂購併導出」Android專用庫。
結果相同。我嘗試添加android庫項目作爲.jar,作爲傳統的依賴項目和屬性 - > android->添加android庫,標記順序和導出爲檢查,如果可能,但仍然無法正常工作。
請幫助我,如果你知道解決方案。 我使用Android SDK Platform-tools 19.0.1和Android SDK Build-tools 19.0.2
謝謝。
哇,我只是找到soluiton。
我們可以看到有一個http://developer.android.com/tools/sdk/eclipse-adt.html#notes東西interestiong約ADT 20.0.0及更高版本:
構建系統
庫項目清單文件添加自動合併到包括項目的清單。使用manifestmerger.enabled屬性啓用此功能。
我試着將「manifestmerger.enabled = true」添加到我的project.properties文件中,並且全部完成。事情是,生成器不會合並我的庫項目清單與apk項目清單
您是否嘗試將其作爲外部庫添加? – donfuxx
你是否會說像添加標準外部.jar庫一樣?我試過了,但結果仍然相同。 – user1059786