Gradle缺乏对注释处理的增量构建支持是构建速度和TDD的问题。像Room这样的库可以轻松地放入自己的模块中(利用编译时避免)来提高构建速度。
但是如果像Dagger那样在模块中实现更好的增量构建呢?可以通过任何方式利用Gradle的源集来提高增量构建速度吗?
Gradle建议使用following approach。
configurations {
apt
aptCompile
}
dependencies {
apt 'com.google.dagger:dagger-compiler:2.8'
aptCompile 'com.google.dagger:dagger:2.8'
}
sourceSets {
processed {
java {
compileClasspath += configurations.aptCompile
}
}
main {
java {
compileClasspath += processed.output
}
}
}
compileProcessedJava {
options.annotationProcessorPath = configurations.apt
}
如何使用android gradle插件采用相同的方法(并且仍然支持多种口味)?这种方法是否实用?我们会丢失任何Dagger功能吗?