用Eclipse和Ant构建Android库



我有一个简单的Android库项目,它只包含网络调用功能。它不需要继承任何XML/资源等来调用应用程序。当我使用Eclipse IDE构建这个项目时(右键单击项目并单击 build project ),它在bin/libproject.jar下生成一个JAR。我可以简单地把这个文件放到任何项目的构建路径中,它工作得很好。

现在,我想为我的库实现持续集成。这意味着,我需要一些命令行方法来实现相同的目标(构建jar,当我使用ant构建项目时)。Ant以不同的方式构建项目。它在bin/文件夹中创建classes.jar,这与libproject.jar不同。

我相信Eclipse的Build Project (ADT rev-21)正在做一些神奇的事情来为我的库项目构建这个完整的JAR(这更像是一个像JAR这样的java项目)。

你知道如何使用命令行实现相同的功能吗?

我使用eclipse 4.3 w/ant和SDK工具21.1

IMO -他们最近改变了sdk关于库的依赖。

http://tools.android.com/recent/dealingwithdependenciesinandroidprojects

见上面的链接。

我的示例库依赖(可传递)如下:

ABS <== SlidingMenu <== MyProject

so,在SM.project.properties…android.library.reference.1 = . ./. ./src/ABS/图书馆

和,在MP.project.properties中…android.library.reference.1 = . ./. ./src/SlidingMenu/图书馆

ant构建,在proj=SM上运行,要么使用eclipse内部的ant构建工具,要么在eclipse外部的终端会话的CLI上运行ant做如下:

[javac] Note: Recompile with -Xlint:deprecation for details.
 [echo] Creating library output jar file...
  [jar] Building jar: /home/rob/src/tools/ActionBarSherlock-4.2.0/library/bin/classes.jar

和ant build,在proj=MP上运行,执行以下操作:

      Setting project property: out.library.jar.file -> /home/rob/src/SlidingMenu/library/bin/classes.jar
..
      [jar] Building jar: /home/rob/src/SlidingMenu/library/bin/classes.jar

在我看来,你应该关注两件事:

在file=project中得到正确的库引用。属性

在eclipse中仔细检查项目/属性/Java构建路径/顺序和导出

读取链接,因为它包含多个与'order export'相关的特定NOTEs…

当您在ant中构建依赖项目时,它应该在内部触发其他项目的构建。我认为这是在依赖项目的构建路径中控制的。

关于调试的另一个注意事项-我不能直接从项目资源管理器调试,因为启动器不喜欢2个依赖项目的"classes.jar"。Debug坚持在每个库的。/bin目录下存在名为"${project-name}.jar"的jar文件。但是如上所示,ant分配"classes.jar"。

所以,为了调试,我在eclipse中使用了DDMS选项卡的替代方法,而应用程序已经运行。然后找到进程并附加调试器。

相关内容

  • 没有找到相关文章

最新更新