Adobe Illustrator может создавать кучу файлов с разным разрешением и называет их *dpi.png
и размещает их в одном каталоге. Одновременно Android ожидает, что изображения будут иметь одинаковое имя и будут находиться в разных каталогах.Динамически добавлять зависимость в Gradle?
Я написал сценарий Gradle сделать копирование файлов и переименование:
[
'ldpi', 'mdpi', 'hdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi'
].each {
String type = it
task "copyAi_$it"(type: Copy) {
String ending = '_Artboard 1' + type + '.png'
from 'graphics_design/export/'
include '*' + ending
rename { String fileName ->
fileName.replace(ending, '.png')
}
into 'app/src/main/res/drawable-' + type
}
}
task copyAiExport
copyAiExport.dependsOn copyAi_ldpi, copyAi_mdpi, copyAi_hdpi, copyAi_xhdpi, copyAi_xxhdpi, copyAi_xxxhdpi
Как вы видите, я должен был написать все зависимости общей задачи copyAliExport
явно, перечислив все сгенерированные задачи.
Могу ли я добавить зависимости динамически?
В документе я не нашел понятного примера.
Не знаю :) Я еще не могу прочитать код Groovy. Наверное, так оно и есть. – Dims
@ Dims;) Ну ладно. Поэтому вам нужно получить ссылку на только что созданную задачу ('t'), а затем получить зависимости' all' ('dependOn' ==' getDependsOn') и добавить к ней '' 'задачу. – Opal
@ Dims Вы хотите, чтобы я переписал ваш пример? – Opal