如何从库项目导出jar到引用Eclipse中的项目?

时间:2011-07-18 08:15:40

标签: java android eclipse

多个Android项目使用Android库项目。现在我在这个库项目中添加了一个JAR(commons-lang.jar)。我想将这个commons-lang.jar导出到所有使用库项目的项目中。如果不将jar复制到所有引用项目,我就无法工作。

到目前为止我做了什么:

  1. 在库项目文件夹层次结构中创建了一个名为libs的文件夹。
  2. 将JAR复制到此libs文件夹。
  3. 在Eclipse“Java Build Path”中添加了这个带有“Add external JARs ...”的JAR到库项目中。
  4. 在“订购和导出”标签上,选中JAR左侧的复选框以将其导出。
  5. 在“Android”页面上的引用项目“添加”库项目。
  6. 似乎commans-lang JAR没有与库项目一起导出。我还需要在引用项目上创建libs文件夹,将相同的JAR添加到引用项目的构建路径。之后一切正常,但APK确实包含了两次外部JAR。

    我的方法出了什么问题?我还应该做些什么?

    非常感谢提前。

4 个答案:

答案 0 :(得分:1)

我相信你所做的就是去Eclipse>偏好> Java>构建路径>用户库。然后当你添加一个jar文件时,我相信工作区中的所有项目都会在类路径中自动拥有该jar文件。

答案 1 :(得分:1)

我尝试使用gson.jar文件做同样的事情。

  • 我将一个gson jar的副本放到TestAndroidLib项目中,并设置Java Build Path以包含它。
  • 我在TestAndroidApp中添加了对TestAndroidLib项目的引用。
  • 我不需要在app项目中复制gson jar来使用Gson类。
  • 我可以运行并调试应用程序项目。

我在app项目的项目属性中发现的是,gson jar是作为Android Dependencies的一部分添加的,如下所示。您可能需要检查应用项目的属性 - > Java Build Path-> Libraries-> Android依赖项,以查看您要使用的jar是否可见。

似乎如果在Andoroid lib项目中有正确设置构建路径的jar文件,则在使用lib项目的应用程序项目中不需要额外的构建路径设置。

答案 2 :(得分:1)

我会做什么:

从头开始(删除因此问题而创建的所有项目引用和jar引用)。创建一个新的Android库项目。将jar放在此项目的libs文件夹中。让你需要jar的所有项目引用库项目。这应该有用。

答案 3 :(得分:0)

我对“订购和出口”时实际发生的事情感到好奇。听起来你正在介绍jar两次因为你添加的外部引用'添加外部jar - 这是在项目的根目录修改你的.classpath文件'而且正在使用的构建工具是自动假设lib文件夹你也加入了。

Aidan的回答可能就是你所需要的。

还有一些其他方法可以附加这个常见的罐子。

如果这是您控制并计划更改的代码,则最好为此代码打开一个单独的项目,并在构建路径上将公共项目添加为“必需项目”。您可以在Java Build Path - Projects选项卡中添加项目。这将依赖于您正在使用的当前项目,并允许对公共代码进行即时更改。

我看到下面关于Android库的评论。我不认为eclipse只允许用户lib的jar。我记得几年前使用Aidan的建议为一些Swing应用程序设置了一些dll。

对于我已经完成的小型Android开发,我已经建立了一个maven / android模板来启动我的项目。如果您没有使用Maven,我确信还有一些其他插件可以自动处理您的Android库依赖项,因此您不必担心它。