android工程中gradle编译时的所有task,打印其依赖和输入输出

204 阅读1分钟

appbuild.gradle中加入以下代码

android {
  ...
}
// 在任务图谱完成执行后注册一个回调函数,用于打印任务的详细信息
gradle.taskGraph.afterTask { task ->
  // 初始化一个StringBuffer用于构建任务详情的字符串
  StringBuffer taskDetails = new StringBuffer()
  // 开始构建任务详情字符串,包括任务的名称、组、描述和输入文件
  taskDetails << """"-------------开始
    name:$task.name
    group:$task.group
    description:$task.description
    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
}