2012-01-02 111 views
5

我想在android庫項目中使用phonegap。庫項目編譯就好了,但是當我嘗試啓動擴展DroidGap一個活動,我得到這個錯誤如何在Android庫項目中包含jar文件

01-02 10:12:17.575: W/dalvikvm(316): Unable to resolve superclass of Lcom/***/***. 

我想這是因爲phonegap.jar文件沒有在Android的編譯jar文件包括圖書館項目。我已經嘗試過使用ant來構建,但它似乎不起作用。

編輯:我正在構建一個可用於其他android項目的android庫。我正在使用標準的android library project,但是在這個擴展了phonegap.jar中的DroidGap類的lib項目中的活動正在崩潰,出現上述錯誤。

+0

檢查了這一點:HTTP://計算器。com/a/6859020/28557 – 2012-01-03 07:11:51

+1

好像大多數人並沒有理解你的外部JAR在庫項目中,然後當你嘗試從另一個android項目引用你的庫項目時,它看不到JAR文件該庫項目是依賴於 - 具有類似的問題我自己只有它更復雜,因爲我的JAR文件是一些本地C類的JII接口,我也想跨多個項目共享! – 2012-03-22 12:51:55

回答

0

在您的項目中創建一個文件夾'lib'。把你的.jar文件放在lib文件夾中。選擇你的.jar文件右鍵單擊,選擇buid path --->'add to build'。將添加您的.jar文件。現在你可以使用這個.jar文件類。

+0

我已經這樣做了,但這似乎沒有幫助。我認爲,當你正在處理一個普通的android項目時工作正常,但在android庫項目中包含jar文件不起作用。 – Ashok 2012-01-02 05:21:44

+0

我已經測試過,並且能夠按照上述步驟添加和使用phonegap庫類。 – 2012-01-02 05:27:02

+0

我使用了兩個項目,一個是android項目,另一個是android庫項目。我需要在android庫項目中包含phonegap.jar。 android項目使用android庫項目,並在android lib項目中啓動一個活動,這似乎會導致事情崩潰。你是否也這樣做,這對你有用嗎? – Ashok 2012-01-02 05:37:10

0

我會建議不要手動創建'lib'文件夾。

相反:

右擊項目 - >屬性 -

  • 選擇Java構建路徑

  • 確保在頂部

    選擇的選項卡
  • 點擊添加外部JAR

然後找到你的JAR ...

基本上,你可能已經添加了PhoneGap.jar

+0

您是否建議不要鏈接android庫項目,而是鏈接到由庫項目創建的jar文件的鏈接。我不明白這會有什麼幫助。我試了一下,它似乎沒有幫助 – Ashok 2012-01-02 05:32:41

+0

你將不得不編輯你的問題,並解釋更多具體細節......我可能不完全明白你想要做什麼。如果您要鏈接到另一個仍然可以工作的庫項目,則可以鏈接該庫,然後按照我所描述的方式添加PhoneGap.jar。 – TryTryAgain 2012-01-02 05:39:25

0

的ADT(Android的開發工具Eclipse中以同樣的方式插件)內置了對圖書館項目的創建和參考的支持。請參閱此tutorial第5部分中的示例。

0

嘗試將文件夾的名稱更改爲libs而不是lib。

+0

「libs」文件夾在它們所在的項目中自動包含JAR。但如果它們只在共享項目的libs目錄中,它們仍然不會自動包含它們。 – 2013-05-08 13:50:44

3

恐怕這是不可能的。結果jar文件將包含android庫項目中定義的所有類和資源,但不包括添加到構建路徑的外部jar文件。您將不得不使用該庫將這些添加到最終的Android項目中。您也可以找到類似的問題在這麼喜歡this one

+0

鏈接的問題/答案更詳細地解釋。但基本上,共享庫項目是簡單的容器和包裝。最後,它只是將來源和資源投入到消費項目中;它不會在設置或庫引用中複製,因此必須手動將它們複製到消費項目中。 – 2013-05-08 13:54:50

相關問題