2

所以我有一个 Android 项目,其模块 App 依赖于模块 A,该模块 A 依赖于模块 B(App -> A -> B),模块 A 的 gradle 文件如下所示:

...
implementation project(':feature_B')
...

然后在 B 模块中,我有以下类:

public class Whatever() {
  private void doSomething() {
    int value = 5;
  }
}

所以问题是每当我改变doSomething()方法时,例如通过设置value6 而不是 5,然后我重建项目,我得到这个日志:

...

> Task :feature_B:kaptDebugKotlin
> Task :feature_BcompileDebugKotlin
> Task :feature_B:javaPreCompileDebug UP-TO-DATE
> Task :feature_B:compileDebugJavaWithJavac
...
> Task :feature_A:kaptDebugKotlin
> Task :feature_A:compileDebugKotlin
> Task :feature_A:javaPreCompileDebug
> Task :feature_A:compileDebugJavaWithJavac UP-TO-DATE
...

根据这个 Google IO '17 谈话(https://www.youtube.com/watch?v=7ll-rkLCtyk&t=1566s),模块 A 根本不应该重建,因为 B 中唯一改变的是私有方法的实现......因此,A 的所有任务都应该是“最新的”......

我的模块 A gradle 文件上是否缺少某些内容?谷歌的那个人编造的吗?

非常感谢!

4

0 回答 0