我有一個編譯項目,但是在兄弟庫項目中包含的類名引發一個NoClassDefFoundError,但只有從Eclipse構建時纔會引發。當我從ant文件構建項目時,它運行得很好。Android:如何從Eclipse ADT應用程序項目引用庫項目?
如何告知Eclipse構建系統,我的應用程序的.apk需要庫項目中.class文件的副本。
此頁... http://developer.android.com/guide/developing/eclipse-adt.html#libraryReference 使聽起來像添加圖書館應該「只是工作」,沒有其他的步驟。而且我發現它已經更新了我的default.properties文件,並且有必要的鏈接讓我的ant構建工作。
儘管遵循以下這些步驟(我的庫項目在我的應用程序的項目屬性的Android頁面中列出),但Eclipse無法識別編輯器中的新類。所以我做了將庫添加到Java Build Path的標準Eclipse步驟。現在,編譯器和IDE可以識別該類,但即使在Java Build Path,Order和Export中檢查了庫之後,我的應用仍然會與NoClassDefFoundError一起崩潰。
我錯過了什麼步驟?
一些背景... 我首先構建了Eclipse項目。然後,在一個單獨的目錄中,我使用了android create project ...
以及所有參數來創建一個完全相同的項目。最後,我將ant build.xml和* .properties文件複製到Eclipse項目目錄中。我對我試圖引用的庫項目做了同樣的事情。
刪除評論 – Anm 2010-09-24 00:31:06
我有時可以通過清理/重新編譯來解決構建錯誤。由於兩個「IllegalArgumentException:已經添加...」錯誤,通常會導致「轉換爲Dalvik格式失敗,並顯示錯誤1」,一個用於僅在src中的類,另一個用於庫路徑中的類。 (這是使用Android庫引用和Eclipse庫引用,因此後者可能是預期的。) – Anm 2010-09-24 00:38:27
您的庫項目是否包含鏈接的文件夾? ADT的庫項目似乎只包含src文件夾,忽略任何鏈接的文件夾。 – 2011-05-12 13:26:34