【发布时间】:2011-10-26 21:30:00
【问题描述】:
我有一个 Android Project(A),它是我的主要应用程序,它引用了一个 Android 库 Project(B)。 Library Project 引用了一个标准 Java Project(C),它是我用于许多 Java 和 Android 项目的标准库。我将这三个项目称为 A、B 和 C。
我的问题是,如果我对 C 项目进行更改,它将自动编译,但 B 不编译,因此 A 看不到更改。唯一的方法是手动清理 B。 Eclipse中有没有办法在编译C时强制B重新编译?
将 Eclipse 3.6.2 与 ADT 14 和 SDK 14 结合使用。
【问题讨论】:
-
您是在运行 ADT 14(最新版本)还是运行较早的 ADT(12 或更低版本)?只是图书馆在 ADT14 中的处理方式完全不同,你看
-
是 ADT 14 我正在运行,与之前相比如何处理库?
-
提交了一个错误报告code.google.com/p/android/issues/…
-
你可以自己测试一下,从matthewscorp.com/download/test.zip下载3个项目
-
ADT12 和 14 的区别(从来没有 13)是 12 引入了 Android Libraries 的源代码并编译,而 14 单独编译 Android Libraries 并将它们作为 JAR 引入您的项目文件。我的猜测是,因为它没有看到库项目 (B) 的变化,所以它没有重新制作 (B) 的 jar。解决方案是“清理”您的项目,这将强制它们全部重建 - 请注意,您需要它们按字母顺序(首先是库)或使用“设置/常规/构建顺序”选项卡告诉它首先编译哪些库。
标签: android eclipse android-library