Android apt被注解为Kotlin写的代码时不能自动生成文件bug

Posted danfengw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android apt被注解为Kotlin写的代码时不能自动生成文件bug相关的知识,希望对你有一定的参考价值。

记录一下自己遇到的问题, 写了个类似Butterknife,通过注解可以自动生成代码的逻辑,但是在运行的时候发现并没有生成相关文件。
具体解释一下,
(1)自己写了一个类似ButterKnife可以在编译时生成对应文件的apt(Annotation processor tool 注解处理器)
(2)注解在一个Kt文件上,编译后没有自动生成对应的文件,但是注解在java文件上就可以生成对应的文件。

Demo 链接

原因:

涉及到注解的注解处理器依赖也会由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的主要内容,如果未能解决你的问题,请参考以下文章

告别KAPT,使用KSP为Android编译提速

Android APT注解处理器 ( Element 注解节点相关操作 )

Android APT注解处理器 ( 根据注解生成 Java 代码 )

如何让注解处理器支持 Kotlin?

android注解处理技术APT

Android 查阅博客2_APT