失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )

【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )

时间:2019-09-13 11:00:50

相关推荐

【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )

文章目录

一、编译时注解和注解处理器二、创建 编译时注解 和 注解处理器三、添加 编译时注解 和 注解处理器 依赖库依赖四、博客资源

一、编译时注解和注解处理器

上一篇博客 【Android APT】编译时技术 ( ButterKnife 原理分析 ) 简单介绍了下编译时技术 , 并简单分析了 ButterKnife 的实现原理 ;

使用 ButterKnife 时会依赖两个库 ,

dependencies {implementation 'com.jakewharton:butterknife:10.2.3'annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'}

其中com.jakewharton:butterknife:10.2.3是 编译时注解 ,com.jakewharton:butterknife-compiler:10.2.3是 注解处理器 ;

当程序构建编译时, 处理依赖库依赖 , 发现依赖了annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'注解处理器 , 然后到com.jakewharton:butterknife-compiler:10.2.3注解处理器中查找相关的注解处理的类 ;

使用编译时技术 APT 时 , 一般将 注解 拆分成两个部分 , 一部分是使用的 编译时注解 , 另一部分是 注解处理器 ;

二、创建 编译时注解 和 注解处理器

使用 Android Studio 开发 Android 项目时 , 使用到编译时技术 , 都要用到 编译时注解 和 注解处理器 ;

编译时注解 和 注解处理器 一般都创建为Java or Kotlin Library类型的 Module ;

右键点击工程名 , 选择 " New / Module " 选项 ,

在弹出的 " Create New Module " 对话框中 , 这里选择 Module 的类型为Java or Kotlin Library;

设置依赖库名称 , 注意语言选择 Java ; 暂时不涉及 Kotlin 注解 ;

使用上述相同的方式 , 创建 annotation 编译时注解 依赖库 和 annotation-compiler 注解处理器 依赖库 , 这两个 Module 的类型都是 "Java or Kotlin Library" ;

三、添加 编译时注解 和 注解处理器 依赖库依赖

在主应用 " app " 中 , 依赖上述 annotation 编译时注解 依赖库 和 annotation-compiler 注解处理器 依赖库 ;

右键点击应用 , 选择 " Open Modules Settings " 选项 ,

在 " Project Structure " 对话框中选择 " Dependencies " 选项卡 , 选择主应用 " app " , 点击 " + " 按钮 , 选择添加 " Module Dependency " 依赖库 ,

将 annotation 编译时注解 依赖库 和 annotation-compiler 注解处理器 依赖库 添加到主应用 " app " 的依赖中 ;

添加依赖完成 ;

点击 " OK " 按钮后 , 在 build.gradle 构建脚本中自动生成的依赖 :

dependencies {implementation project(path: ':annotation-compiler')implementation project(path: ':annotation')}

注意 :对于 annotation-compiler 注解处理器 依赖库 不能使用 implementation , 必须使用 annotationProcessor ,

dependencies {annotationProcessor project(path: ':annotation-compiler')implementation project(path: ':annotation')}

四、博客资源

博客源码 :

GitHub :/han120/APT

CSDN :/download/han120/18883878

如果觉得《【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。