禁用kapt的增量构建

时间:2016-04-20 09:53:47

标签: android kotlin annotation-processing incremental-build

由于android gradle插件默认启用了增量构建,因此注释处理会中断,因为只有那些自上次增量构建以来已更改的类才会从注释处理器中考虑。

因此对于java源代码,我们通常使用apt grald插件来运行注释处理。但是,如果在同一个项目中使用apt,android的gradle插件会自动禁用gradle的增量构建功能: https://github.com/google/dagger/issues/298

现在我正在开发一个kotlin项目,我面临与kapt相同的增量构建问题。因此,与apt一样,解决方案是禁用增量构建。文档说:

android {

  compileOptions.incremental = false
  ...
}

然而,这对我不起作用。有人知道如何禁用增量构建吗?

2 个答案:

答案 0 :(得分:1)

您可以添加

var filter = $(input).val()

到您的kotlin.incremental=false 文件以禁用增量构建。

答案 1 :(得分:0)

我遇到了同样的问题,但似乎在1.0.4版本中修复了。目前,它仍处于EAP阶段,因此您必须添加另一个存储库。

repositories {
    ...
    maven { url 'http://dl.bintray.com/kotlin/kotlin-dev' }
}

然后在root build.gradle中将版本更改为1.0.4-eap-xx

buildscript {
    ext.kotlin_version = '1.0.4-eap-84'
    ...
}

以下是issue的链接。