2014-02-25 184 views
2

我有一些API與java和我需要它在我的安卓應用程序。Android外部罐子

當我用它包含所有包和類時,它工作正常。現在我使用export從我的java項目創建JAR文件。現在,當我的jar添加到我的Android應用程序作爲一個外部JAR我所有的錯誤都消失了,但是當我跑我的應用程序我得到一個錯誤

java.lang.NoClassDefFoundError.

我所看到的那種錯誤,早在我的應用程序和這是罐子的問題。如何生成JAR文件以避免這種情況?

+0

你在用什麼IDE? –

+0

你有建立你的jar包括參考? –

+0

我正在使用eclipse – GigantoMK

回答

2

您可能已經使用jdk 1.7創建了該jar文件。使用jdk 1.7編譯的類不包含在apk文件中。嘗試在導出jar之前將java編譯器更改爲1.6。在eclipse中,轉到Window - > Preferences - > Java - > Compiler。

+0

它沒有幫助... 相同的錯誤 – GigantoMK

2

複製Android項目的libs文件夾中的jar文件。

之後,您可能需要清理項目並重建它。您甚至可以手動清除bin目錄內容。

1

一種更好的方法可能如下:

  1. 從項目
  2. 刪除當前出口罐子選擇要導入的項目,右鍵 - >屬性 - > Android的 - >檢查「標誌作爲庫'
  3. 右鍵單擊您當前的項目 - >屬性 - > android - >在底部找到'add'按鈕。點擊它並選擇庫項目。

使用這種方法庫項目中的任何更改都會反映到當前項目中(至少在執行完整項目之後)。

2

您必須將jar文件添加到項目的構建路徑中。

要確保它在APK中導出,您還必須在項目的構建路徑首選項中的訂單和導出選項卡下進行檢查。

0

我已經做到了!謝謝大家。 因此,解決辦法是:
1.改變Java編譯器1.6你
2.將Jar文件導出之前的jar(如@Lecho提及)到lib文件夾
所以它的工作原理!謝謝大家