所以我有一个 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()
方法时,例如通过设置value
6 而不是 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 文件上是否缺少某些内容?谷歌的那个人编造的吗?
非常感谢!