之前的项目中使用了 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