【发布时间】:2012-05-21 19:18:05
【问题描述】:
我可能有这个不太常见的设置:
(> = 依赖)
Android 项目 > Android 库项目 1 > Android 库项目 2
所以我有一个 Android 库项目,它依赖于另一个库项目。
当我在 Eclipse 中构建项目时,一切正常,但我无法使用 Ant 进行构建。
First Ant 编译 Android 库项目 2,生成一个 classes.jar 并将此文件放入 bin 文件夹中。
然后 Ant 尝试编译 Android 库项目 1,但随后我收到错误,因为它缺少 Android 库项目 2 中的类。
这并不奇怪,因为 jar 文件不包含在 libs 文件夹中。 但是在 project.properties 中,我已经对库项目 2 建立了依赖关系,那么为什么 Ant 不将 classes.jar 复制到库项目 1 的 libs 文件夹中呢?
好吧,我可以想到一个解决方案,使用 Ant 任务将文件复制到 libs 文件夹,但是我必须修改我不喜欢的 build.xml。
** 编辑
问题是缺少 R 类,当我查看 classes.jar 时,这个 java 文件不包含 R 类。所以我的解决方案可能无法正常工作。
【问题讨论】:
-
遇到了同样的问题。最近尝试使用当前的 sdk 工具重新编译旧项目并遇到此问题。以前,当构建使用源代码合并时,这不是问题,但现在编译 jar 并且由于某种原因省略了 R 类。没有一个“答案”是真正的答案。就我而言,我有一个付费和免费版本的应用程序,并使用推荐的模式,即拥有两个项目和一个公共库。我不认为顶级项目必须管理公共库的所有依赖项是一个好的模式。