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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

雪梦科技 2017-04-06 22:03:15 浏览5581
展开阅读全文

在使用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

网友评论

登录后评论
0/500
评论
雪梦科技
+ 关注