2017-12-02 145 views
0

我試圖添加.jar文件到我的android項目作爲依賴項,但它沒有工作,所以現在即時試圖添加我只需要的java文件。 讓我們調用我想要cookies.java的文件,然後在原始包結構中有一個具有2個文件的util文件夾。需要執行的cookie.java讓我們稱它們爲cookieDough和cookieRecipe,並且pacakage位於int net.sourceforge.cooking中。 所以它會最終被3個文件,我需要:正確的方式添加java文件及其依賴項到我的項目在Android工作室

net.sourceforge.cooking.cookies.java 
net.sourceforge.cooking.util.cookieDough.java 
net.sourceforge.cooking.util.cookieRecipe.java 

什麼,我試圖做的是增加一個烹飪的文件夾與cookies.java類 和烹飪文件夾內與cookieDough和一個實用程序文件夾cookieRecipe類。所以:

cooking/cookies.java 
cooking/util/cookieDough.java 
cooking/util/cookieRecipe.java 

我的主要方案正在

src/main/java/packagename/ 

我試圖 創建一個java文件夾withing SRC,src/cooking但遇到了麻煩兩個cookies.java找到/util/cookieDough.java,也爲我的IM使用src/main/java/packagename/來查找cookies.java或其他文件。

即時添加的文件已經有包和導入聲明,但由於即時通訊使他們本地我知道我必須改變這些,我不知道我是否需要他們成爲一個包在一起。

問題:

1哪裏是合適的地點,以我的項目結構中添加烹調文件夾。

2 - 我如何才能將文件添加即時通訊相互承認,這意味着我如何得到cookies.java找到util/cookieRecipe.java?,我必須聲明它們作爲一個整體

3-我如何讓我的java類在src/main/java/packagename/找到烹飪目錄中的類,一個導入語句?

這一切工作,如果我只是將3 java文件添加到我的主包,並從他們刪除所有導入和包語句,但我想弄清楚如何做到正確的方式(最佳實踐),我是假設我應該將這些文件與我的文件分開。

順便提一下,我添加的文件是開源的。

謝謝

回答

0

我嘗試添加.jar文件到我的Android項目作爲一個依賴,但它沒有工作

發生了什麼導致你知道,它「沒有工作」?這可能是一個更重要的問題需要解決,並且可能是您在問題結尾提到的「最佳做法」。

但對於另一個關於直接放置.java文件的問題,原來的問題似乎有點亂。您只需記住將每個.java文件放入該文件的package語句所指示的相對於src/main/java的目錄中。

以你的問題爲例,你似乎添加net.sourceforge.cooking.cookies.java(這意味着,在目錄net/sourceforge/cooking一個文件,名稱cookies.java,內部具有package net.sourceforge.cooking;語句),那麼你可以創建src/main/java一個包把那個文件,這表明您的文件可以是src/main/java/net/sourceforge/cooking/cookies.java。 (是的,這個目錄忽略src/main/java/packagename您的主要來源的原始目錄。)希望這是一個回答問題1

對於問題2,你所需要的似乎只是一個import聲明,

import net.sourceforge.cooking.util.cookieRecipe 

它保留在什麼目錄中會指出它的包名。所以你必須聲明包名,但是在Java中只是一個package語句,不需要其他聲明,也不需要其他配置。

而且問題3是一樣的,你不需要關心你處理兩個包樹沒有共同的包,一個是net.sourceforge.cooking,另一個是packagename,(或目錄,一個是src/main/java/net/sourceforge/cooking,另一個是src/main/java/packagename

+0

嗨,感謝您的偉大的答案,爲什麼添加包的原因沒有工作我在這裏發表了一篇文章:https://stackoverflow.com/questions/47514818/dex-error-wheni-i- include-jar-files-into-my-android-project – Jack

+0

關於問題1 我想在我的項目中刪除開始(net.sourceforge),並從烹飪文件夾中啓動它,我可以像這樣做用你描述的方法,我不知道我是否如果把它切換到原來的路徑(最佳實踐問題),我認爲它會使它更清晰,不會有沒有任何文件的net.sourceforge。 – Jack

+0

另外我不知道我是否應該打開一個關於此的新帖子,但是,當我添加烹飪文件夾和util文件夾時,我通過new-> package執行它,但我不確定是否使用new-> folder- > java文件夾,但是隨後出現一個配置組件窗口,其中包含更改文件夾位置複選框,我真的不明白它的要求。我是否以正確的方式去做?什麼是java文件夾選項?謝謝! – Jack

相關問題