采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问老师beforeEvaluate和afterEvaluate,监听的生命周期和写到那个project里面有关系吗?例如:写在根目录下面的build.gradle,是监听的所有子工程配置走完调用afterEvaluate吗还是。。。?如果:配置到某一个子工程的build.gradle,监听的是某一个子工程配置完就回调afterEvaluate?还是所有工程走完才执行。我试验出的结果这两个生命周期没什么规律挺乱的,请老师赐教
没有规律,在那个project里写,就只监听当前工程的evaluate,监听不到其它工程的,即使是他的子工程。
非常感谢!
Gradle提供了对project状态配置监听的接口回调,以方便我们来配置一些Project的配置属性,监听主要分为两大类,一种是通过project(project.beginEvaluate配置前调用,project.afterEvaluate配置后调用)进行 回调,一种是通过gradle(this.gradle.beforeProjectpe配置前调用,this.gradle.afterProject配置后调用)进行回调,作用域也有不同 ,project是只针对当前project实现进行的监听,gradle监听是针对于所有的project而言的。beforeEvaluate方法说的很清楚是配置之前调用,但你要是直接当前build.gradle中使用是肯定不会调用到的,因为Project都没配置好还有他什么事情(也是无奈),afterEvaluates是配置之后调用只要project配置成功均会调用.
赞!!!
同学,这里有个问题,配置前的话 指的是在哪里? beforeEvaluate应该在哪里注册监听会被调用到
只在某一个模块的build.gradle配置project.beginEvaluate,无法监听当前的project,你可以在主build.gradle里面配置监听所有子project就可以
登录后可查看更多问答,登录/注册
全面覆盖Gradle核心知识和高级用法,高级工程师必备技能!
902 9
982 8
7.8k 7
1.4k 6
988 5