ฉันกำลังพยายามตั้งชื่อไฟล์ 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
มีความคิดอะไรบ้าง?