android studio点击运行按钮的时候做了什么?

run按钮之后的流程

run背后的Gradle tasks

gradle生命周期分为三个阶段,分别是Initialization(初始化阶段),Configuration(配置阶段),Execution(执行阶段)。
执行阶段会执行一系列的task,主要是进行构建工作。

点击run后,Android studio的Event Log中清晰的显示了它在干什么。
event log

显示adb连接手机,然后gradle启动,插件检查,运行的时候就是执行app:assembleDebug的命令,知道完成,将打好的apk安装到手机。

我们平时用命令打debug包: ./gradlew assembleDebug

那么./gradlew assembleDebug这个命令之后到底做了什么呢?

如果有过gradle插件开发,或者说groovy写过task的应该知道,在gradle中就是很多task执行。build里面有:

tasks
这里面的tasks很多,大概可分为五个阶段:
1.准备阶段:你看其中有很多pre开头的task,这个就是在准备。主要是检查依赖,一些jar包啊,还有就是module啊。准确的说就是准备依赖包(Preparation of dependecies)阶段。
2.合并资源并处理清单阶段(Merging resources and processing Manifest):这里面有很多merge开头的task,这就是合并资源文件。
3.编译阶段(Compiling):处理编译器注解,源码被编译成字节码
4.后期处理(Postprocessing):所有“transform”开头的task都是在这个阶段处理的。
5.包装和出版(Packaging and publishing):library生成.aar文件,application生成.apk文件。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容