gradle 仅任务 运行 最后一个命令

gradle task only running last command

我有这个任务,将一些文件复制到设备

task copyTestVideos(type: Exec) {
  commandLine 'adb', 'push', 'src/androidTest/raw/test1.mp4', '/mnt/sdcard/DCIM/Camera/'
  commandLine 'adb', 'push', 'src/androidTest/raw/test2.mp4', '/mnt/sdcard/DCIM/Camera/'
  commandLine 'adb', 'push', 'src/androidTest/raw/test3.mp4', '/mnt/sdcard/DCIM/Camera/'
  commandLine 'adb', 'push', 'src/androidTest/raw/test4.mp4', '/mnt/sdcard/DCIM/Camera/'
  commandLine 'adb', 'push', 'src/androidTest/raw/test5.mp4', '/mnt/sdcard/DCIM/Camera/'
  commandLine 'adb', 'push', 'src/androidTest/raw/test6.mp4', '/mnt/sdcard/DCIM/Camera/'
}

原来好像只有最后一行被执行了。有人看到类似的东西吗?

您正在做的是配置您的Exec任务。以 commandLine 开头的行实际上并未在配置阶段执行。相反,他们重复设置 属性 commandLine 您的任务。

在执行阶段属性 commandLine用于启动进程。此时它只包含一个值:上面最后一行的字符串。

参见:https://docs.gradle.org/current/userguide/build_lifecycle.html#sec:build_phases

在这种情况下,切换到像您一样复制文件夹是最简单的解决方案。