美文网首页
gradle-apt, annotationProcessor

gradle-apt, annotationProcessor

作者: miky_zheng | 来源:发表于2019-02-25 06:50 被阅读0次

能用机器完成的事情,就不要用手工去完成。

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

相关文章

网友评论

      本文标题:gradle-apt, annotationProcessor

      本文链接:https://www.haomeiwen.com/subject/htrbyqtx.html