冲天香阵透长安,满城尽带黄金甲。这篇文章主要讲述android注解处理技术APT相关的知识,希望能为你提供帮助。
APT(Annotation Processing Tool)是java的注解处理技术,它对源代码文件进行检测找出其中的Annotation,根据注解和注解处理器和相应的apt自动生成代码。 Annotation处理器在处理Annotation时可以根据源文件中的Annotation生成额外的源文件和其它的文件(文件具体内容由Annotation处理器的编写者决定)。
1、什么是APT?
android-apt和annotationProcessor功能是一样的,都是apt的实现,前者比较早,后者是google官方开发的内置在gradle里的apt
APT的处理要素
注解处理器(AbstractProcess)+ 代码处理(javaPoet)+ 处理器注册(AutoService)+ apt
使用APT来处理annotation的流程
1.
定义注解(如@automain)
2.
定义注解处理器,自定义需要生成代码
3.
使用处理器
4.
APT自动完成生成新的java文件。
2、annotationProcessor和android-apt
annotationProcessor是APT工具中的一种,是google开发的内置框架,不需要引入,可以直接在build.gradle文件中使用,如下
1 dependencies { 2annotationProcessor project(‘:xx‘) 3annotationProcessor ‘com.jakewharton:butterknife-compiler:8.4.0‘ 4 }
android-apt是由一位开发者自己开发的apt框架,随着Android Gradle 插件 2.2 版本的发布,Android Gradle 插件提供了名为 annotationProcessor 的功能来完全代替 android-apt ,自此android-apt 作者在官网发表声明最新的Android Gradle插件现在已经支持annotationProcessor,并警告和或阻止说不在更新android-apt ,并推荐大家使用 Android 官方插件annotationProcessor。
android-apt的使用
添加android-apt到Project下的build.gradle中
//配置在Project下的build.gradle中
1 buildscript { 2repositories { 3mavenCentral() 4} 5 6dependencies { 7//替换成最新的 gradle版本 8classpath ‘com.android.tools.build:gradle:1.3.0‘ 9//替换成最新android-apt版本 10classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8‘ 11} 12 13 }
在Module中build.gradle的配置
【android注解处理技术APT】通常在使用的时候,使用apt声明注解用到的库文件。项目依赖可能分为多个部分。例如Dagger有两个组件Dagger-compiler和dagger。dagger-commpiler仅用于编译时,运行时必需使用dagger。
//配置到Module下的build.gradle中
1 apply plugin: ‘com.android.application‘ 2 apply plugin: ‘com.neenbedankt.android-apt‘ 3 4 dependencies { 5apt ‘com.squareup.dagger:dagger-compiler:1.1.0‘ 6compile ‘com.squareup.dagger:dagger:1.1.0‘ 7 }
基本使用就是上面这两点,想用annotationProcessor替代android-apt。删除和替换相应部分即可。
推荐阅读
- Oracle中append与Nologging
- Mac上eclipse安卓开发查看SQLite数据库
- appscan入门操作
- Android架构设计之插件化组件化
- Arrayadaper在安卓开发中的作用
- Android-下载网上图片
- appt查看应用包报名和入口页面
- 如何查找已安装的IBM HTTP Server版本和架构()
- 如何使用SSL证书设置Apache HTTP(详细步骤图解)