2013-07-25 24 views
-2

我有一些不依賴於android的源碼。我想將它們用作android應用程序項目以及非android java項目中的庫。在Eclipse中,我似乎沒有找到正確的按鈕來完成這項工作。我已經閱讀了關於將Jar整合到我的項目中的情況,但那不是我想要的。我需要使用源代碼,而不是最終的庫。該lib仍在開發中,我不想重新編譯它,將它作爲jar導出並在每次更改時將其複製到主機項目中!另外我不想複製圖書館的來源。我只想在一個開發項目以及另一個開發項目中使用這些確切的來源。在.NET中,這是不容易的。在我使用Google之後,在Eclipse中這是困難的和不可能的。在android中重用java源代碼

我希望做什麼或什麼期望進一步的想法!

+0

這可能不是Eclipse獨佔的問題。你如何處理你的依賴管理 - Gradle,Maven?因爲我提到.NET,因此在5分鐘內可以使用 – Makoto

+0

-4?我的天啊...! 「eclipse-exclusive」是什麼意思?我沒有使用gradle或maven。這是一個簡單的項目。如果Ant沒有在後臺執行某些操作,我不使用任何依賴管理。至少沒有超出配置構建路徑或手動複製罐子... –

+0

這些答案可能會幫助你... [如何在Eclipse PDE中表達項目間依賴關係](http://stackoverflow.com/questions/1390074/how-to-express-inter-project-dependencies-in-eclipse-pde) [eclipse中的多個依賴android項目](http://stackoverflow.com/questions/3041183/multiple-dependent-android-在日蝕項目) – andy256

回答

1

你說你想用這個代碼在多個項目庫。做到這一點的方法是做你反對做的事情:把它做成一個項目,讓它成爲一個JAR,並讓你使用的構建技術(聽起來像Eclipse)來管理它需要的事實打包成最終的輸出結果。

但是,那意味着你將建立JAR並將其放到你的項目的lib目錄,這似乎是你害怕的東西。 Eclipse/Maven/Ant都可以配置爲根據需要重建相關庫,然後將它們自動打包到主目標的構建工件中,而不會對您造成任何痛苦。

+0

這聽起來很有希望!我怎麼做?我已經嘗試通過Android/Library,Java Build Path/Projects,Java Build Path/Libraries來引用我的Java庫,並且使用Order和Export來發揮作用,但都無濟於事。 android運行時每次都給我「找不到類......」。 (我不敢相信,我不得不手動配置xml文件,這對我來說似乎是一個非常大的時代錯誤)。 –

+0

是您的Android或Java類型的庫項目嗎?如果它是Android類型,則轉換爲Java項目,然後將其正確打包(通過Java Build Path/Projects)。更多信息在http://stackoverflow.com/questions/2047105/including-other-eclipse-projects-in-an-android-application-project。 – Tim

+1

庫是一個我想在android應用程序中使用的java項目(兩個類)。不幸的是,它似乎沒有找到它的方式進入apk。運行時說「找不到類...」,引用庫中的一個類。無論我如何從應用程序引用lib,都無關緊要。我不認爲我在這裏有一個奇怪的配置。只是一個相對新鮮的安裝ADT。如果我把這兩個類放到一個Android庫中,並通過Android/Library從應用程序中引用它,一切都按預期工作。但由於我很確定我會一直使用類似的設置,所以我正在尋找整體解決方案。 –

1

沒有任何從屬關係管理(意思是:從Eclipse的內置工具應該管理的依賴),可能的最簡單的方法是:

  1. 名的sourcefolders不同(例如appsrc,libsrc等)。一個新的文件夾的
  2. 利用工作空間相對鏈接(項目右擊 - >新建文件夾 - >高級 - >鏈接到其他位置 - >變量工作空間 - >擴展 - >選擇您的庫項目源 - >確定 - >完成
  3. 右擊項目 - >新源文件夾 - >瀏覽 - >使用鏈接的文件夾

默認的包名不鼓勵(和我沒有工作的快速測試)庫的任何使用中。庫項目可能會或可能不會導致與解析錯誤或運行時錯誤相應穩固的行爲,我從來沒有嘗試過。

NE Ver在更復雜的項目環境中使用了這個功能,但這應該爲你做。

+0

如果你要爲lib項目使用libs,你很可能不得不將它們添加到這兩個項目中,但如前所述,我從來沒有以這種方式使用它。到目前爲止,我所做的只不過是鏈接在android客戶端和java服務器中使用的基本模型和接口。 –

0

我從 項目屬性 - > Java構建路徑 - >源 - >鏈接源鏈接我想要的Android項目的Java源文件夾。 您可以將同一個文件夾鏈接到多個項目,這樣您就可以重複使用代碼而不需要重複它,也無需單獨編譯它。

唯一的問題是,當我搜索在Eclipse這些類之一,它列出了它多次,一次爲每個鏈接到該文件夾​​。所以我重複使用一個文件夾越多,它就越是混亂我的搜索結果。

當我第一次開始使用Android,我可以包括Java構建路徑另一個Eclipse項目 - >項目。我喜歡這個,因爲它和非android的eclipse項目一樣。但是當我升級Android SDK時它停止工作。編譯仍然有效,但是當我嘗試運行應用程序時,它會崩潰,並發現類未發現的異常。