2012-04-15 109 views
5

所以,我正在嘗試爲Android開發一個客戶端 - 服務器應用程序。爲此,我創建了一個引擎,我將在服務器和Android應用程序中使用這兩個引擎,並將其導出爲.jar文件。NoClassDefFoundError:將我自己的jar鏈接到Android項目的問題

在服務器端(簡單的後臺java應用程序)使用這個engine.jar沒有問題,但是我將連接提到.jar文件到我的android項目時遇到了一些問題。

要連結engin.jar我遵循一些步驟:

  • 創建 「庫」 在我的Android項目
  • 此文件夾中導入engine.jar

DIR這個engine.jar後可以在Android Dependences小組中看到。此外,我可以使用該.jar中的所有類,Eclipse不會將它們標記爲錯誤。 我的項目編譯正常,但是當我試圖創建engine.jar任何對象,出現以下錯誤的應用程序崩潰:

04-15 23:18:12.885: E/AndroidRuntime(17409): java.lang.NoClassDefFoundError: Common.Message.Message

我想我已經竭盡所能。任何人都可以分享他對所描述情況根源的看法嗎?

+0

您是否將jar文件添加到Eclipse中的構建路徑中?它應該出現在「Referenced Libraries」組中。 – smichak 2012-04-15 20:04:17

+0

在SDK Tools v18 +中的@smichak,「libs」文件夾中的庫自動添加到通過「Android Dependencies」的構建路徑中 – 2012-04-15 20:05:54

+0

正如前面的評論所述,自17修訂版本以來,「引用庫」已更名爲「Android Dependencies」 Android SDK – 2012-04-15 20:28:44

回答

4

我也經歷過同樣的問題。我解決它通過執行以下操作:

右鍵單擊項目目錄 - >Build Path - >Configure Build Path - >選擇選項卡Order and Export - >檢查/選擇關注.jar文件的複選框 - >按Ok

希望這可以解決您的問題。

+0

BOOM似乎是它。非常感謝,這是一個真正的緊急情況。 – 2012-07-05 20:11:54

+0

那你爲什麼不給他的恩賜@阿倫? – 2012-07-06 11:03:17

+0

阿爾喬姆,我試過了,但系統不允許我,因爲沒有足夠的時間過去。 – 2012-07-06 22:53:33

0

以備將來使用:

創建一個項目的根命名爲「庫」的文件夾,然後添加你要新增所有在以前的評論中提到的出口的東西都將自動完成的罐子。

0

這似乎是你的服務器和客戶端沒有相同的常見類的jar。在編寫客戶端服務器應用程序時,您需要確保有一些常見的代碼項目,大多數情況下這將成爲未來的lib文件。

相關問題