Saya mencoba memberi nama file APK aplikasi saya berdasarkan cabang git, yang bekerja dengan memasukkan parameter dengan jenkins. Namun, saya mendapatkan dua APK, dan ini tidak diinginkan karena salah satu tugas Gradle yang saya miliki mengunggah APK ke daftar terdistribusi. Inti dari penggantian nama APK ini adalah agar orang yang menerimanya mengetahui secara pasti cabang apa yang mereka lihat.
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)
}
}
Kemudian perintah gradle dipanggil:
gradle assembleFeature --project-dir=/Path/To/myapp/ -Pbranch=origin/development
Dua file yang dihasilkan dari itu adalah:
- fitur-aplikasi.apk
- aplikasi-FITUR-pengembangan.apk
File 1 tidak diinginkan, dan pada akhirnya saya ingin mengganti nama file itu, daripada membuat file baru yaitu File 2.
Ada pemikiran?