【发布时间】:2018-12-22 05:30:44
【问题描述】:
我有一个多模块项目。我使用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.
有人遇到过这个问题吗?
有什么解决办法吗?
【问题讨论】:
-
这是一个常见问题。据我了解,您需要使用 gradle 4.7+ 来支持增量
kapt但插件也必须实现对此的支持。匕首还没有 -
@MirceaNistor 我正在使用 gradle 4.8。但在 gradle info 中,我发现修改后的文件仅来自数据绑定。不是来自匕首。
-
尝试使用 --scan 标志运行您的构建并点击生成的链接。可能会给你一些想法。另一位评论者也说对了,并非所有插件都设置为支持增量构建。
-
我正在使用 --info 运行 gradle。这表明某些数据绑定 Impl 已更改。这将再次触发 kapt 并为该模块编译。
-
developer.android.com/studio/build/optimize-your-build官方developer.android页面优化gradle构建时间
标签: android kotlin android-gradle-plugin android-databinding kapt