我目前使用的是Android Gradle插件4.0.1,在AGP 4.0.1上,数据绑定似乎不是增量的,正如你在下图中所看到的:

android.databinding.annotationprocessor.ProcessDataBinding
我已经检查了项目的依赖项,并且我没有直接导入数据绑定依赖项。我像这样启用它:
android {
...
buildFeatures {
dataBinding = true
}
}为了让数据绑定可以是增量的,还有什么我应该做的吗?
发布于 2020-07-30 02:17:26
要在项目中使用dataBinding,请执行以下操作:
android {
...
buildFeatures {
dataBinding = true
}
}
dependencies {
def databinding = "3.5.1"
implementation "com.android.databinding:compiler:$databinding"
.....
}然后将布局与根级别的<layout>....</layout>标记绑定在一起
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<com.google.android.material.card.MaterialCardView
android:id="@+id/parentCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/margin_medium"
app:contentPadding="@dimen/padding_medium"
app:cardCornerRadius="@dimen/margin_large"
android:layout_margin="@dimen/margin_medium"
app:cardUseCompatPadding="false"
app:elevation="4dp"/>
</layout>发布于 2020-08-06 00:55:36
如果您使用的是Kotlin & Kapt,请参阅Kotlin Gradle文档:
请注意,在任何情况下,第一次构建都不是增量的。
https://kotlinlang.org/docs/reference/using-gradle.html#incremental-compilation
检查第二个或更晚的版本不会显示警告。
还要检查您正在使用的所有注释过程都是增量的:
目前,只有在使用的所有批注处理器都是增量的情况下,批注处理才能是增量的。
https://kotlinlang.org/docs/reference/kapt.html#incremental-annotation-processing-since-1330
还要检查构建日志,您可能会看到这样的错误:
任务:app:kaptDevDebugKotlin
1.8.0_101-b13有一个bug (https://bugs.openjdk.java.net/browse/JDK-8007720),阻止了房间的增量。
已请求增量批注处理,但支持被禁用,因为以下处理器不是增量的: androidx.room.RoomProcessor (动态)
发布于 2022-01-14 12:38:09
当我运行单元测试时,我遇到了几乎相同的问题,问题出在dagger和下面的依赖项上,我删除了测试依赖项,问题就解决了
kaptTest "com.google.dagger:dagger-compiler:${daggerVersion}"
kaptTest "com.google.dagger:dagger-android-processor:${daggerVersion}"
kaptTest "com.squareup.inject:assisted-inject-processor-dagger2:${assistedInjectVersion}"https://stackoverflow.com/questions/63158671
复制相似问题