Android 同时使用kotlin与butterknife

news/2024/5/20 5:08:05 标签: apk, android, gradle

之前的项目用的是butterknife

annotationProcessor "com.jakewharton:butterknife-compiler:$rootProject.butterknife-compiler"

在模块中引入kotlin时 会遇到butterKnife绑定的id失效问题,这时需要把 annotationProcessor 改为

kapt "com.jakewharton:butterknife-compiler:$rootProject.butterknife-compiler"

什么是annotationProcessor
annotationProcessor是APT(Annotation Processing Tool)工具中的一种,随着Android Gradle 插件 2.2 版本的发布,Android Gradle 插件提供了名为 annotationProcessor 的功能来完全代替 android-apt,不需要引入,可以直接在build.gradle文件中使用。

annotationProcessor顾名思义是注解处理器的意思。它对源代码文件进行检测找出其中的Annotation,根据注解自动生成代码。 Annotation处理器在处理Annotation时可以根据源文件中的Annotation生成额外的源文件和其它的文件,之后将编译生成的源文件和原来的源文件一起生成class文件

使用影响

annotationProcessor生成额外文件的规则是在依赖库里定义的,只在编译的时候执行,但是库最终不打包到apk中,所以使用Butterknife这类编译注解框架并不会增加apk的大小


kapt

Butterknife的文档里还有这么一句话:

If you are using Kotlin, replace annotationProcessor with kapt.

特别注意将 annotaionProcessor换成kapt时如果之前编译过,必须要先执行clean project再编译,才能让注解被正常处理!


看懂编译注解annotationProcessor和kapt - 简书


http://www.niftyadmin.cn/n/1540312.html

相关文章

笔记本触摸板失灵修复小技巧_减速机轴承室磨损快速修复的小技巧

点 工业传动共享平台”关注置顶引领减速机传动机械前沿、机械视频,汽车、加工技术、3D打印、自动化、机器人、生产工艺、轴承、模具、机床、钣金等行业前沿在这里等你 某高线轧机减速机轴承室出现不同程度的磨损,索雷工业得到信息之后制定了基准…

python 实现快速排序

一、快排思想快速排序可以理解为是对冒泡排序的一种改进,把一组数,按照初始选定的标杆(参照数), 分别从两端开始排序,左端i只要小于标杆(参照数)的数,右端j只要大于标杆&…

hdu 1878 欧拉回路,图的连通性判断

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid1878 判断图上是否有欧拉回路,首先要求是连通图,然后每个顶点的度数必须都为偶数(如果存在两个顶点度数为奇数则是存在欧拉通路) 用dfs求连通分支的个数 代码&…

eclipse javascript_JavaScript - 幕

JavaScript一。介绍:是一种专门在浏览器编译并执行的编程语言处理用户与浏览器之间请求问题采用【弱类型编程语言风格】对【面向对象思想】来进行实现的编程语言二。弱类型编程语言风格 VS 强类型编程语言风格1.强类型编程语言风格:认为对象行为应该受到其修饰类型严…

Android 调用相机、打开相册、裁剪图片

private ImageView iv_user_photo;private String fileName "";private File tempFile;private int crop 300;// 裁剪大小private static final int OPEN_CAMERA_CODE 10;private static final int OPEN_GALLERY_CODE 11;private static final int CROP_PHOTO_CO…

自动生成word报告嵌入数据_只需4步??教你word如何自动生成目录?

对很多人来说,写论文或者报告的时候,制作目录是个老大难的问题,很多人选择“手动生成”的方法,既费时间又不好看,今天就跟大家分享一个用word自动生成目录的方法,只要4步自动生成整齐美观的目录✨一、设置章…

lua 优化

彻底解析Android缓存机制——LruCache https://www.jianshu.com/p/b49a111147ee lua:部分常用操作的效率对比及代码优化建议(附测试代码) https://blog.csdn.net/u013119612/article/details/78758253 Lua性能优化技巧 https://blog.csdn.net…

viewpager+fragment 懒加载

大家都知道viewpager默认会加载下一页数据,viewpager提供了一个方法setOffscreenPageLimit(),设置预加载页数 懒加载字面意思当需要的时候才去加载,不需要时不加载 之前处理fragment懒加载通过setUserVisibleHint onHiddenChanged 这2个函…