Android apt被注解为Kotlin写的代码时不能自动生成文件bug
Posted danfengw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android apt被注解为Kotlin写的代码时不能自动生成文件bug相关的知识,希望对你有一定的参考价值。
记录一下自己遇到的问题, 写了个类似Butterknife,通过注解可以自动生成代码的逻辑,但是在运行的时候发现并没有生成相关文件。
具体解释一下,
(1)自己写了一个类似ButterKnife可以在编译时生成对应文件的apt(Annotation processor tool 注解处理器)
(2)注解在一个Kt文件上,编译后没有自动生成对应的文件,但是注解在java文件上就可以生成对应的文件。
原因:
涉及到注解的注解处理器依赖也会由annotationProcessor替换成kapt
解决:
(1) 加入插件 id 'kotlin-kapt'
或者 apply plugin: 'kotlin-kapt'
我的as版本比较高所以使用的是下面的方式
plugins
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
(2)替换annotationProcessor为kapt,例如:
annotationProcessor project(path: ':aptlib2-process')
为 kapt project(path: ':aptlib2-process')
kapt project(path: ':aptlib2-process')
补充:
AbstractProcessor 如何调试
http://www.voidcn.com/article/p-vvthyprv-qr.html
https://blog.csdn.net/Pizza_Lawson/article/details/52126325
以上是关于Android apt被注解为Kotlin写的代码时不能自动生成文件bug的主要内容,如果未能解决你的问题,请参考以下文章
Android APT注解处理器 ( Element 注解节点相关操作 )