您的位置:首页 > 其它

Kotlin 之 Annotation Processor

2017-10-31 00:00 441 查看
之前的项目中使用了 ARoute ,但是当我把标记为@Route注解的fragment文件转换成kotlin之后,运行就无法找到这个fragment了。

解决方法倒是在ARoute中写了。根据修改方法,找到了关于在kotlin中使用Annotation Processor 的文档。https://kotlinlang.org/docs/reference/kapt.html

这里使用了KApt工具来解决Annotation Processor在kotlin文件中无法使用的问题,相信在未来的某个android-studio会想集成android-apt一样集成kapt。

当我们同时使用kapt和auto-value的时候会出现问题,修改方案

defaultConfig {
.....
//auto value 和 kapt一起使用的时候需要添加
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
dependencies {
.....
kapt rootProject.ext.dependencies["auto-value"]
provided rootProject.ext.dependencies["auto-value"]
kapt rootProject.ext.dependencies["auto-value-parcel"]
...
}


当databind和kapt一起使用的时候存在问题,修复方案添加

kapt "com.android.databinding:compiler:$gradle_version"

$gradle_version 就是你的build.gradle中gradle的版本

com.android.tools.build:gradle:$gradle_version
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Kotlin Annotation Pr