能用機(jī)器完成的事情,就不要用手工去完成兜粘。
gradle解析 見:
https://blog.csdn.net/u011913612/article/details/51732632
自動(dòng)化構(gòu)建:
apt與annotationProcessor
廣義:apt指的是Annotation Processing Tool垫卤,是根據(jù)注解自動(dòng)化的核心回铛。
apt與annotationProcessor都是屬于Annotation Processing Tool技術(shù)
狹義的:
annotationProcessor是apt的升級(jí)版星著。
apt寫法grade 2.2已過時(shí):
如:
apt 'com.google.dagger:dagger-compiler:2.x.x'
改為:
annotationProcessor 'com.google.dagger:dagger-compiler:2.x.x'//解決與DataBinding的沖突
apt處理流程:注解處理器(AbstractProcess)+代碼處理(javaPoet)+處理器注冊(cè)(AutoService)+apt
annotationProcessor是APT工具中的一種黔姜,他是google開發(fā)的內(nèi)置框架,不需要引入巾兆,可以直接在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