在日常的Android开发过程,我们不可避免地会在项目中引入一些第三方库,以引入Butterknife为例:
api 'com.jakewharton:butterknife:10.1.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
1.什么是annotationProcessor
annotationProcessor是APT(Annotation Processing Tool)工具中的一种,随着Android Gradle 插件 2.2 版本的发布,Android Gradle 插件提供了名为 annotationProcessor 的功能来完全代替 android-apt,不需要引入,可以直接在build.gradle文件中使用。
那么有人问什么是APT?
APT(Annotation Processing Tool)即注解处理器 这样解释可以看的懂吧
2.使用影响
annotationProcessor生成额外文件的规则是在依赖库里定义的,只在编译的时候执行,但是库最终不打包到apk中,所以使用Butterknife这类编译注解框架并不会增加apk的大小
总结:
使用了 annotationProcessor 的指的是编译时注解
大家注意android的注解分为 编译时注解 和 运行时注解