【问题标题】:Referenced Java Project Compiled Update Doesn't Update Android Library Project引用的 Java 项目编译更新不更新 Android 库项目
【发布时间】: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


【解决方案1】:

我在 ADT 14 上也遇到过这个问题。就我而言,我的间接性较少(项目 A 是 PLAIN java 库(不是 android 库),项目 B 是 android 应用程序)。

真正有趣的是我有两个项目“B”(两个 Android 应用程序),一个正在运行。另一个是精确的副本(对 beta 版本进行了细微更改),包括项目文件的副本。

编译正常,但是在测试版上打包库文件失败。

我删除了项目(不是删除文件)并重新添加了它。然后,我还重新配置了应用程序的构建路径并删除了 java 库。然后我再次重新配置并重新添加它。

Clean/Build 并再次开始正确打包它们。

我也做了前面提到的构建顺序技巧......它本身并没有帮助,但可能有助于后来的 eclipse 刷新工作(确保库项目在其他人之前构建)。

【讨论】:

    【解决方案2】:

    我在使用 ADT 20 时遇到了完全相同的问题。将 cmets 与接受的答案结合起来,我发现将库项目移动为 Project Properties -> Java Build Path -> Order and Export 中的第一个解决了它。

    【讨论】:

      【解决方案3】:

      我尝试了项目 B(android)引用项目 A(常规 java)的公认答案。 在将项目 B 删除并重新添加到工作区后,从项目 B 的所需项目中删除项目 A,重新添加项目 B,在项目 A 的订单/导出中勾选项目 B 并将其移动到顶部,最后清理/构建所有,我的问题没有解决。 在清理和构建之后,一切都是最新的。但是,当 IU 在 A 中更改任何内容时,这些更改在 B 中是不可见的。

      我的解决方案:

      在android项目的构建路径中: - 选择源选项卡 - 点击链接源 - 选择 java 项目的 src 文件夹。将其命名为linkedLibrarySource - 应用,清洁构建 - 成功

      这个解决方案不太理想,我建议先尝试其他解决方案。

      有一个缺点:eclipse 现在将linkedLibrarySource 文件夹添加到您的android 项目中。它包含与 lib 的 src 文件夹相同的文件。 Eclipse 认为它们是不同的。这意味着您可以在两个位置编辑同一个文件,从而导致冲突。所以不要碰linkedLibrarySource!

      我使用 ADT 20

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多