Adobe Illustrator可以创建一堆具有不同分辨率的文件,并使用*dpi.png
命名它们,并将它们放置在同一目录中。同时,Android要求图像具有相同的名称,并且位于不同的目录中。
我编写了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
的所有依赖关系,并枚举所有生成的任务。我也可以动态添加依赖项吗?
我在文档中找不到可理解的示例。
最佳答案
您在寻找什么吗?
task all
[
1, 2, 3, 4,
].each { n ->
def t = task "task$n" {
doLast {
println n
}
}
all.dependsOn << t
}
?