能用机器完成的事情,就不要用手工去完成。
gradle解析 见:
https://blog.csdn.net/u011913612/article/details/51732632
自动化构建:
apt与annotationProcessor
广义:apt指的是Annotation Processing Tool,是根据注解自动化的核心。
apt与annotationProcessor都是属于Annotation Processing Tool技术
狭义的:
annotationProcessor是apt的升级版。
apt写法grade 2.2已过时:
如:
apt 'com.google.dagger:dagger-compiler:2.x.x'
改为:
annotationProcessor 'com.google.dagger:dagger-compiler:2.x.x'//解决与DataBinding的冲突
apt处理流程:注解处理器(AbstractProcess)+代码处理(javaPoet)+处理器注册(AutoService)+apt
annotationProcessor是APT工具中的一种,他是google开发的内置框架,不需要引入,可以直接在build.gradle文件中使用
project中配置
ext {
version = [
dagger2SdkVersion : "2.19",
]
}
以dagger为例:
config.gradle配置
dependencies = [
//tools
"dagger2" : "com.google.dagger:dagger:${version["dagger2SdkVersion"]}",
"dagger2-android" : "com.google.dagger:dagger-android:${version["dagger2SdkVersion"]}",
"dagger2-android-support" : "com.google.dagger:dagger-android-support:${version["dagger2SdkVersion"]}",
"dagger2-compiler" : "com.google.dagger:dagger-compiler:${version["dagger2SdkVersion"]}",
"dagger2-android-processor": "com.google.dagger:dagger-android-processor:${version["dagger2SdkVersion"]}"
]
app中build.gradle配置
annotationProcessor rootProject.ext.dependencies["dagger2-compiler"]
module中build.gradle配置
dependencies {
api rootProject.ext.dependencies["dagger2"]
annotationProcessor rootProject.ext.dependencies["dagger2-compiler"]
}
dagger2用法参考:https://blog.51cto.com/12512729/2144313
网友评论