ใช่เราสามารถเปลี่ยนได้ แต่ด้วยความสนใจ
ตอนนี้เพิ่มสิ่งนี้ในbuild.gradleในโครงการของคุณในขณะที่ตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบชุดตัวเลือกการสร้างของโครงการของคุณrelease or Debug
ดังนั้นที่นี่ฉันได้ตั้งค่าชุดตัวเลือกสร้างของฉันไว้release
แต่คุณสามารถเลือกเป็นดีบั๊กได้เช่นกัน
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig getSigningConfig()
applicationVariants.all { variant ->
variant.outputs.each { output ->
def date = new Date();
def formattedDate = date.format('yyyyMMddHHmmss')
output.outputFile = new File(output.outputFile.parent,
output.outputFile.name.replace("-release", "-" + formattedDate)
//for Debug use output.outputFile = new File(output.outputFile.parent,
// output.outputFile.name.replace("-debug", "-" + formattedDate)
)
}
}
}
}
คุณสามารถทำได้ด้วยวิธีการที่แตกต่างกันเช่นนี้
defaultConfig {
applicationId "com.myapp.status"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
setProperty("archivesBaseName", "COMU-$versionName")
}
ใช้วิธีการตั้งค่าคุณสมบัติใน build.gradle
และอย่าลืมซิงค์ gradle ก่อนเรียกใช้โครงการ
หวังว่ามันจะแก้ปัญหาของคุณ :)
วิธีการใหม่ในการจัดการนี้เพิ่มเร็ว ๆ นี้โดย Google อัปเดต
ตอนนี้คุณอาจจะเปลี่ยนชื่อของคุณสร้างตามรสชาติหรือผลลัพธ์ Variant
// ด้านล่างนี้เป็นแหล่งที่มาจากนักพัฒนาเอกสารประกอบหุ่นยนต์
สำหรับรายละเอียดเพิ่มเติมตามลิงค์เอกสารข้างต้น
ใช้ตัวแปร API เพื่อจัดการกับผลเสียที่แตกต่างกัน ด้วยปลั๊กอินใหม่ มันยังคงใช้งานได้ง่ายเช่นการเปลี่ยนชื่อ APK ในช่วงเวลาบิลด์ตามที่แสดงด้านล่าง:
// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "${variant.name}-${variant.versionName}.apk"
}
}
การเปลี่ยนชื่อชุดข้อมูล. aab คำตอบของ David Medenjakเป็นอย่างดี
tasks.whenTaskAdded { task ->
if (task.name.startsWith("bundle")) {
def renameTaskName = "rename${task.name.capitalize()}Aab"
def flavor = task.name.substring("bundle".length()).uncapitalize()
tasks.create(renameTaskName, Copy) {
def path = "${buildDir}/outputs/bundle/${flavor}/"
from(path)
include "app.aab"
destinationDir file("${buildDir}/outputs/renamedBundle/")
rename "app.aab", "${flavor}.aab"
}
task.finalizedBy(renameTaskName)
}
//@credit to David Medenjak for this block of code
}
จำเป็นต้องมีรหัสข้างต้นหรือไม่
สิ่งที่ฉันสังเกตเห็นใน android studio รุ่นล่าสุด 3.3.1
การเปลี่ยนชื่อบันเดิล. aab นั้นทำโดยรหัสก่อนหน้านี้โดยไม่จำเป็นต้องมีการเปลี่ยนชื่องานใด ๆ เลย
หวังว่ามันจะช่วยพวกคุณ :)