2015-07-31 2 views
1

У меня есть эта задача, которую скопировать некоторые файлы на устройствеGradle задача только работает последняя команда

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/' 
} 

оказывается, что только последняя строка, кажется, выполнен. Кто-нибудь видел что-то подобное?

+0

Возможно, вам нужно подождать до копирования следующего видео. – Kedarnath

+0

Как мне это сделать? –

+0

'commandLine' не выполняет операцию как таковую, просто устанавливает свойства вашей задачи, чтобы указать, какая команда должна быть выполнена. Не уверен, как выполнять несколько команд. –

ответ

2

Что вы делаете: Конфигурирование Ваша задача Exec. Строки, начинающиеся с commandLine, фактически не выполняются на этапе конфигурации. Вместо этого они повторно задают свойство commandLine вашей задачи.

Во время фазы выполнения свойство commandLine используется для запуска процесса. В данный момент он содержит только одно значение: строки последней строки выше.

См: https://docs.gradle.org/current/userguide/build_lifecycle.html#sec:build_phases

Переключение на копирование папки, как вы делали это самое простое решение в этом случае.

Смежные вопросы