android - 很长的 gradle 构建时间 - Android

标签 android kotlin android-gradle-plugin android-databinding kapt

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

但是,每当我通过更改一个模块中的某些内容来执行 incremental build 时,生成的其他一些模块(不依赖于更改的模块)数据绑定(bind)类会发生更改,从而在该模块上调用 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.

有人遇到过这个问题吗?

有什么解决办法吗?

最佳答案

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

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

关于android - 很长的 gradle 构建时间 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51331811/

相关文章:

java - 如何使用 android 使用 ip camera 拍照

java - 通过 SharedPreference 传递 EditText 内容

android - 单击同级时将焦点重定向到 EditText

android - 无法访问 BaseColumns 在 Kotlin 中提供了 _ID 属性

android - 找不到aapt2-4.0.0-6051327-linux.jar(com.android.tools.build:aapt2:4.0.0-6051327)

android - 刷新gradle时Android Studio 1.3.2错误

android - 如何为 Android/Gradle 设置单元测试

android - 如何对多列使用 getContentResolver().query?

android - 在 Kotlin 中使用 TypeAdapter 实现 TypeAdapterFactory

android - 隔离测试 APK 构建