Получение вкуса в задаче Gradle

Я хочу обработать сгенерированный .apk после сборки gradle. Однако место, где находится сгенерированный файл, зависит от вкуса продукта и типа сборки. Итак, как я могу получить их в задачу?

Вот соответствующий раздел build.gradle:

productFlavors {
    normal { }
    tinybuild {}
}
// The following two blocks copy the generated .apk to server so that tablet you're working on can download it fast
task copyDebugAPK(type: Exec) {
    workingDir "$projectDir/.."
    commandLine 'python', 'myscript.py', 'script parameter'
}
afterEvaluate {
    packageNormalDebug.finalizedBy(copyDebugAPK)
    packageTinybuildDebug.finalizedBy(copyDebugAPK)
}

Я мог бы просто объявить несколько задач, по одной для каждого варианта / сборки, но я почти уверен, что даже использование сценария в контексте, зависящем от вкуса / типа сборки, должно предоставить мне соответствующие поля прямо в задаче. Я ошибся?

Обновлено: после предложения Роберта я изменил свою задачу так:

task copyDebugAPK(type: Exec) {
    android.applicationVariants.all { variant ->
        print("${com.android.build.OutputFile.ABI}")
        print("${variant.name}")
        print("${variant.flavorName}")
        print("${variant.versionName}")

        workingDir "$projectDir/.."
        commandLine 'python', 'myscript.py', '${variant.name}'
    }
}

Однако распечатки не печатаются. Я также добавил переменные во ввод скрипта, но они не разрешены.

Вы читали stackoverflow.com/a/46987692/150978?

Robert 15.04.2018 19:35
3
1
414
0

Другие вопросы по теме