gradle编译过程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
gradle编译过程
Gradle构建过程学习
学习gradle编译构建过程,本意是想看看平时执⾏的gradle assembleDebug指令到底是怎么从⽆到有构造出来app的,通过阅读⼀位jianshu 上⼤佬写的关于gradle编译过程的⽂章,发现这个真的还是挺复杂的,gradle和ant等⼯具⼀样,属于⼀个编译过程的框架,基于这个框架是可以做很多事情的,例如现在gradle的两⼤概念,task和transform(两者关系:addTransform ⽅法在执⾏过程中,会将 Transform 包装成⼀个 AndroidTask 对象,所以transfrom最终会被转换成⼀个task)。
⾸先根据图⾥⾯可以看出来gradle的⼤致构建过程,⾄上⽽下的看,左边是app资源的打包提取,分别是⽣成对应的R⽂件以及压缩资源到包⾥,中间是app的代码,右边是aidl的翻译,还有⼀种是反射注解⽣成的java⽂件,这时就把这⼏个java的⽂件通过java compiler去⽣成class⽂件,然后将⾃⾝的class以及三⽅库的class都打包到dex⽂件中,这时候dex以及资源⽂件,和其他⽂件都打包压缩到apk中,这时再经过对apk⽂件的加密最终就能得到⽬标⽂件了。