簡體   English   中英

如何在包含的Android庫中過渡地使用Android項目中Java項目中的jar?

[英]How to use jars from a Java Project in an Android project transitively over the included Android library?

這個問題有點混亂,但是我想解釋我的意思。

(1)是一個Java項目,用作具有訪問文件和內容方法的庫。 (2)出於相同原因的android庫。 僅用於Android的訪問文件和內容的簡單方法。

現在(1)和(2)已鏈接到我的Android項目(A)的構建路徑中。 工作正常。 我可以從這些庫項目或它們包含的jar中訪問任何方法。 現在,我有第二個Android項目(B)。 因此,我想通過將(A)中的活動放到(2)中來使其可用。

Buuuuuuuuuuut:此復制的代碼中的一些需要(1)中的方法,而這些方法現在在(2)中不可用,因為(1)和(2)彼此不了解。

想法:僅將(1)鏈接到(2)[[(1)已從(A)中刪除]和(2)將作為庫添加到(A)和(B)中,以具有清晰的層次結構。

結果:它不起作用,因為(1)中的所有內容在(A)和(B)中不再可用,並且(2)無法通過(1)中包含的jar和方法。

同時將(1)鏈接到(2)並鏈接到(A)和(B)會增加生成的jar的大小,因為所有內容都安全了兩倍。

問題:是否有方法可以將(1)鏈接到(2),將(2)鏈接到(A)和(B),但仍然受益於(1)中的所有底層jar和方法? 按照我的理論,這樣做是合乎邏輯的,但是Eclipse並未遵循這種想法。 也許我錯過了一個設置。 在(2)中,我將(1)設置為可導出,希望它能解決任何問題。

問題解決了:

我已經做對了,但是Eclipse對它沒有反應。 通過將Java項目(1)導出為jar並將其包含到(2)中,Eclipse最終理解為使用(1)中的方法。 顯然,刪除了jar並切換回包含Java項目(1)的組合仍然有效。 原因未知。 在幾次關閉並啟動Eclipse之后,結果仍然存在。

我認為您應該能夠轉到您的Android庫項目的屬性,轉到Java Build Path,切換到選項卡Order and Export並選擇Java庫,以便將它公開給使用Android庫的Android項目。

您可以通過以下方式鏈接(1)和(2):

  1. 將(1)導出到JAR文件中。
  2. 將該JAR放在(2)的libs /文件夾中。
  3. 進入(2)的項目屬性,進入“ Java Build Path”窗口。
  4. 轉到“訂單和導出”標簽。
  5. 選中“ Android私有庫”旁邊的框

您所做的只是在項目(2)中插入了一個“私有”庫,並指示項目(2)使外部資源可以看到其私有庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM