2017-12-02 143 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

相关问题