Gradle技巧系列一: 打印Task输入输出等信息

简介:

在使用Android Studio开发Android应用的时候,我们都知道整个构建过程是由Gradle来驱动的,由一个一个的Gradle Task串起来的。

通常,我们点击工具栏上的绿色三角之后,就开始编译运行工程,直到将APP安装到手机或者模拟器。在默认情况下,开发者通常只能看到简单的提示信息。

下面简单介绍几个技巧,帮助开发者更好的理解整个编译过程:

 Gradle 技巧一: 打印每个Task的输入输出

将以下代码贴到模块的build.gradle下

gradle.taskGraph.afterTask { task ->
    StringBuffer taskDetails = new StringBuffer()
    taskDetails << """"-------------
name:$task.name group:$task.group : $task.description
conv:$task.convention.plugins
inputs:
"""
    task.inputs.files.each{ it ->
        taskDetails << " ${it.absolutePath}\n"
    }
    taskDetails << "outputs:\n"
    task.outputs.files.each{ it ->
        taskDetails << " ${it.absolutePath}\n"
    }

    taskDetails << "-------------"
    println taskDetails
}

添加后,每次执行Gradle Task,你都能看到每一个Task的输入输出信息。

 Gradle 技巧二: 打印每个模块配置的依赖信息

将以下代码贴到模块的build.gradle下

task listJars << {
    configurations.compile.each { File file -> println file.absolutePath }
}

这段代码将会添加一个Gradle Task(名称为listJars),作用就是打印出compile相关的所有依赖库地址。

当然,这个compile还可以替换成kapt,annotationProcessor, provided 等。

联系方式

sn0wdr1am

相关文章
|
4月前
|
存储 Java 测试技术
Gradle笔记 四 Gradle的核心 TASK(二)
Gradle笔记 四 Gradle的核心 TASK
42 0
|
4月前
|
Java Maven
Gradle笔记 四 Gradle的核心 TASK(一)
Gradle笔记 四 Gradle的核心 TASK
46 0
|
存储 Java 测试技术
|
Java API 容器
【Deprecated】Gradle | 进阶篇(Project & Task & 构建生命周期)
【Deprecated】Gradle | 进阶篇(Project & Task & 构建生命周期)
404 0
【Deprecated】Gradle | 进阶篇(Project & Task & 构建生命周期)
|
Java 容器
Gradle从0入门到实战系列【四】build.gradle之Task
任务是gradle的最小执行单元,一个build.gradle是由一系列的task组成,重要性不言而喻,在前面课程中我们或多或少做了一些了解,接下来我们真正认识task。
315 0
Gradle从0入门到实战系列【四】build.gradle之Task
|
Java 容器
深入理解gradle中的task
深入理解gradle中的task
|
测试技术
gradle编译出错:Execution failed for task ':app:compileTestDebugJava'
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/50012843 随着更新gradle到1.12,出现问题。
1069 0
|
Java Shell API
Gradle API 以及Task
Gradle 编程框架 1.groovy语法 2.Build Script Block 3.gradle api 前言 1.灵活性上: ANT和Maven 不能在构建过程中,做自定义操作.
1489 0