我正在努力编写一个将解压缩apk的任务。我有几个构建变体,我想为每个变体动态创建一个任务。
applicationVariants.all { variant -> variant.outputs.all { output ->
def assembleTaskName = 'assemble' + variant.getName().capitalize()
def outputDir = new File(output.packageApplication.outputDirectory.toString() + "\\tmp")
def apk = output.outputFile //there is some code which generates correct apk name based on Build Variant
tasks.getByName(assembleTaskName).finalizedBy(task("unzip" + apk.name, type: Zip) {
outputDir.mkdirs()
from zipTree(apk)
into outputDir
})
}}
尽管此代码在我需要的位置创建tmp文件夹,但不会提取apk,并且此代码似乎可以在我拥有的每个构建变体上运行,但我只需要在当前构建的变体上运行即可。我该怎么办?