漫长的gradle构建时间 - Android

San*_*esh 8 android kotlin android-gradle-plugin android-databinding kapt

我有一个多模块的项目.我使用kotlin + dagger 2 + databindingv2.使用最新的3.2 android studio.

但每当我incremental build通过改变一个模块中的某些东西来执行时,生成的一些其他模块(不依赖于已更改的模块)数据绑定类会发生更改,从而在该模块上调用kapt.从而增加了构建时间.

Input property 'annotationProcessorOptionProviders$kotlin_gradle_plugin.$0.$0.buildDir' 
file /build/intermediates/data-binding/debug/compiler/dependent-lib-artifacts/
***-setter_store.bin has changed.
Run Code Online (Sandbox Code Playgroud)

有人遇到过这个问题吗?

那有什么问题吗?

San*_*esh 0

我自己也发现了这个问题。由于存在多个模块且模块之间相互依赖,因此使用数据绑定库中的 ObservableField 将一个字符串资源绑定到 xml。该字符串资源位于该模块中,我已更改了代码。因此依赖于该字符串资源的其他模块正在触发该模块的 kapt。因此,我删除了所有其他模块的所有依赖项。现在其他任务没有触发。

但我仍然发现 kapt 任务没有得到增量的东西。如果发生变化,它将触发该模块的整个 kapt 任务。