android - 很长的 gradle 构建时间 - Android
问题描述
我有一个多模块项目。我用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.
有没有人遇到过这个问题?
有什么解决办法吗?
解决方案
我自己也发现了这个问题。由于存在多个模块且模块相互依赖,因此使用数据绑定库中的 ObservableField 将一个字符串资源绑定到 xml。该字符串资源在我更改了代码的那个模块中。因此,依赖于该字符串资源的其他模块正在触发该模块的 kapt。所以我从所有其他模块中删除了所有依赖项。现在其他任务没有触发。
但我仍然发现 kapt 任务并没有得到增量。如果发生变化,它将触发该模块的整个 kapt 任务。
推荐阅读
- javascript - 设置 RadioGroup 中的默认选中项
- ocaml-dune - 如何使用“dune utop --watch”?
- c# - Hackerrank:攀登排行榜
- python - 从列表中条件选择元组
- rest - Dart 将 SSL 证书和密钥添加到 HttpClient
- go - Golang 不增加 0.1
- django - Django Form 不会向 ManyToManyField 添加新对象,而是在其他对象之间切换
- kotlin - 如何在 Kotlin 的 Ktor 中提取访问权限验证
- javascript - 可以使用谷歌地图 api 快速流畅地滚动吗?
- vue.js - jwt过期时如何警告?