0

我有这样的问题

我必须将外部 java 项目包含到我的 android 构建中。

项目结构为:

Alpha - 具有共享类和库的项目。

Beta - 使用来自 alpha 的文件的 android 项目

Gamma - 使用 alpha 文件的桌面 java 项目。

在 Eclipse 上一切正常,但我需要它在 Jenkins 上工作。我正在使用 Google Android SDK(android 更新项目命令)来创建 build.xml,然后我正在使用 google 目标来做我需要的事情(build、emma、clean 等等)

问题是这个 build.xml 不包含来自 alpha 项目的文件和库,所以它在 beta 构建任务的第一行基本上失败了。

我的问题是:如何正确添加 alpha 项目作为谷歌生成的 build.xml 文件的依赖项?

我应该将 alpha 压缩到 .jar,然后以某种方式将其添加到 beta(如何?)我应该以某种方式链接它吗?

感谢所有帮助。

[我是 ant 脚本的新手,所以请用简单的英文写:P]

4

1 回答 1

0

是的,这很糟糕!当使用 Jenkins 并在不同项目上共享一个 lib-project 时,您必须编译您的 lib-project (alpha),正如您已经提到的,将 jar 复制到两个项目的相应目录,并将它们链接到 Build Path设置。

这是相当多的 ANT-Stuff,你必须研究一下,但不要气馁,这不是火箭科学 :)

基本上你必须这样做:

  1. 创建一个编译共享项目的 Ant 脚本,并将其复制到两个项目中的某个 lib 目录
  2. 将 Jar 链接到桌面和 android 项目的构建路径中
  3. 对于 Jenkins:自定义 android 的 build.xml(例如添加一个新目标),使其执行 lib 项目的 build.xml(编译项目并复制 jar)。
  4. 在詹金斯上运行

如果您不想在 Eclipse 中运行您的 android 或桌面项目之前每次都(手动)编译共享项目,您应该将共享库的 build.xml 与相应的目标添加到项目的构建器设置中(在 Eclipse - > 右键单击​​项目 -> 属性 -> 构建器 -> 在JavaAndroid 包构建器之间添加新构建器)。

对不起,伙计,我不知道还有什么办法。也许还有另一种解决方案,我已经有一年没有使用 Jenkins了。

于 2013-05-06T15:52:25.533 回答