Я пытаюсь назвать файл APK моего приложения на основе ветки git, которая работает, передавая параметр с помощью jenkins. Однако в итоге я получаю два APK, и это нежелательно, потому что одна из задач Gradle, которые у меня есть, загружает APK в распределенный список. Весь смысл переименования этого APK заключается в том, чтобы люди, которые его получают, точно знали, какую ветку они видят.
buildTypes {
...
feature {
signingConfig signingConfigs.debug
applicationVariants.all { variant ->
appendVersionNameVersionCode(variant, defaultConfig)
}
}
...
}
...
def appendVersionNameVersionCode(variant, defaultConfig) {
//check if staging variant
if(variant.name == android.buildTypes.feature.name){
def branch = hasProperty('branch') ? branch.replaceAll('origin/', '') : "UNKNOWN"
def file = variant.packageApplication.outputFile
def fileName = "myapp-FEATURE-" + branch + ".apk"
variant.packageApplication.outputFile = new File(file.parent, fileName)
}
}
Затем вызывается команда gradle:
gradle assembleFeature --project-dir=/Path/To/myapp/ -Pbranch=origin/development
Два файла, которые создаются из этого:
- приложение-feature.apk
- myapp-FEATURE-development.apk
Файл 1 нежелателен, и в конечном итоге я бы хотел переименовать этот файл вместо создания нового файла, который является файлом 2.
Какие-нибудь мысли?