我有一个多模块项目。我使用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.
有人遇到这个问题吗?
有什么解决办法吗?
答案 0 :(得分:0)
我本人已发现问题。由于存在多个模块,并且模块彼此依赖,因此使用数据绑定库中的ObservableField将一个字符串资源绑定到xml。该模块中有该字符串资源,我已更改了代码。因此,依赖于该字符串资源的其他模块正在触发该模块的kapt。因此,我从所有其他模块中删除了所有依赖项。现在其他任务没有触发。
但是我仍然发现kapt任务没有得到增量。如果发生更改,它将触发该模块的整个kapt任务。