带有Java和Kotlin文件,kapt或注解处理器的Android项目? [英] Android project with Java and Kotlin files, kapt or annotationProcessor?

查看:542
本文介绍了带有Java和Kotlin文件,kapt或注解处理器的Android项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道在 Android 项目中混合了 Java Kotlin 文件时,是否必须使用注解处理器或kapt,或同时使用这两者?

I would like to know if in an Android project mixing Java and Kotlin files we must use annotationProcessor or kapt, or both ?

在我的理解中,必须将 annotationProcessor 用于使用代码生成注释的 Java 文件,并且必须将 kapt 用于 Kotlin 文件,使用批注生成代码.

In my understanding annotationProcessor must be used for Java files using annotations for code generation, and kapt must be used for Kotlin files using annotations for code generation.

我有一个混合使用两种语言的项目,我只是用kapt替换了build.gradle中的所有notesProcessor依赖项. 令人惊讶的是,它可以构建并且似乎可以正常运行,但是我不明白为什么kapt甚至在Java文件中也能正常工作...

I have a project mixing both languages, and I just have replaced all the annotationProcessor dependencies in the build.gradle by kapt. Surprisingly it builds and seems to run correctly but I do not understand why kapt works well even with Java files...

有人可以向我解释吗?

谢谢

推荐答案

首先,Kotlin注释处理工具(kapt)使用Java编译器运行注释处理器.如果您的项目包含任何Java类,则kapt会通过设计来处理它们. 科特琳琅建议使用kapt,以防您在之前的Android支持.

First of all, the Kotlin Annotation processing tool (kapt) uses the Java compiler to run annotation processors. If your project contains any Java classes, kapt takes care of them by design. Kotlinlang recommends using kapt incase you used annotationProcessor from the Android Support before.

JetBrains有一个不错的文章详细介绍kapt的工作原理(从2015年开始,直到UP-TO-DATE).

JetBrains has a nice article about how kapt works in more detail, its from 2015 but UP-TO-DATE.

这篇关于带有Java和Kotlin文件,kapt或注解处理器的Android项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆