输出gradle执行task名称、输入输出文件和耗时
来源:互联网 发布:什么得什么知成语 编辑:程序博客网 时间:2024/06/05 10:33
使用gradle编译android,很多时候,我们不清楚里面到底执行哪些操作及各个阶段的消耗的时间,
因此有个打印gradle的各个task的耗时及输入输出的文件对了解gradle很有帮助:
class TimingsListener implements TaskExecutionListener, BuildListener { private Clock clock private timings = [] @Override void beforeExecute(Task task) { clock = new org.gradle.util.Clock() if (task.outputs.files.files) { task.project.logger.warn "taskName:${task.name} " task.project.logger.warn "inputs.files.files:-----------start------- " task.inputs.files.files.each { task.project.logger.warn "${it.absolutePath} " } task.project.logger.warn "inputs.files.files: -----------end---------- " } } @Override void afterExecute(Task task, TaskState taskState) { def ms = clock.timeInMs timings.add([ms, task.path]) task.project.logger.warn "${task.path} took ${ms}ms" if(task.outputs.files.files) { task.project.logger.warn "taskName:${task.name}" task.project.logger.warn "outputs.files.files: ------------start----------------- " task.outputs.files.files.each { task.project.logger.warn "${it.absolutePath} " } task.project.logger.warn "outputs.files.files: ---------------end------------------ " } } @Override void buildFinished(BuildResult result) { println "Task timings:" for (timing in timings) { if (timing[0] >= 50) { printf "%7sms %s\n", timing } } } @Override void buildStarted(Gradle gradle) {} @Override void projectsEvaluated(Gradle gradle) {} @Override void projectsLoaded(Gradle gradle) {} @Override void settingsEvaluated(Settings settings) {}}gradle.addListener new TimingsListener()
参考:
http://jiajixin.cn/2015/08/07/gradle-android/
0 0
- 输出gradle执行task名称、输入输出文件和耗时
- gradle在prebuild之前执行task
- Android Gradle 配置打包输出名称格式
- gradle打印所有task的输入输出、打印所有task的依赖关系
- 创建 Gradle 耗时
- Step into Gradle - 02 - Project 和 Task
- 2 gradle 构建 和运行task
- Gradle for Android-创建task和plugin
- Gradle 使用指南 -- Gradle Task
- Python--文件和输入输出
- Python:文件和输入输出
- 文件和输入输出
- 9.文件和输入输出
- 如何将自定义task在gradle系统task运行前后执行?
- oracle查询SQL语句执行的耗时和执行时间
- 程序执行耗时测试
- 计算执行sql耗时
- [PHP]页面执行耗时
- 5.0图片的转场动画
- 1010. 一元多项式求导
- 第四周项目5-用递归方法求解(3)
- 关于用css3 还是img
- apache phoenix UDF example
- 输出gradle执行task名称、输入输出文件和耗时
- ubuntu下Qt for Android的安装及环境配置
- zoj 3872(dp)
- 单机25万tcp长连接后,gc cpu前后比对图
- 1011. A+B和C
- SQL学习速记笔记
- 【排序算法】C#实现排序算法
- 关于Eclipse不能在线更新ADT问题
- Android使用ViewPager实现无限循环滑动及轮播(附源码)