注解处理

Kotlin插件支持注解处理,就像Dagger和DBFlow。为了让它们可以处理Kotlin类,需要使用kotlin-kapt插件:

apply plugin: 'kotlin-kapt'

或者从Kotlin 1.1.1开始,你可以使用DSL:

plugins {
    id "org.jetbrains.kotlin.kapt" version "<version to use>"
}

然后使用kapt添加各自的依赖:

dependencies {
    kapt 'groupId:artifactId:version'
}

如果你之前使用了android-apt插件,将其从build.gradle文件中删除,并替换成apt配置。如果你的工程包含Java类,kapt也可以处理它们。

如果你在androidTest或test代码中使用注解,对应的kapt配置就是kaptAndroidTest和kaptTest。需要注意的是kaptAndroidTest和kaptTest是kapt的子类,因此你可以只提供kapt依赖。

一些注解处理器(比如AutoFactory)依赖于签名的严格的类型。默认情况下,kapt会替换每个未知的类型(包括生成类的类型)为NonExistentClass,但是你可以改变这种行为。添加额外的flag到build.gradle文件来开启错误类型推断:

kapt {
    correctErrorTypes = true
}

需要注意的是这个选项是实验性的,默认情况下是未开启的。

results matching ""

    No results matching ""