हां हम इसे बदल सकते हैं लेकिन कुछ और ध्यान से
अब इसे अपने प्रोजेक्ट में अपने बिल्ड.ग्रेड में जोड़ें। सुनिश्चित करें कि आपने अपने प्रोजेक्ट के बिल्ड वैरिएंट को चेक किया है जैसे 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 में सेट प्रॉपर्टी मेथड का उपयोग करना और प्रोजेक्ट्स को चलाने से पहले ग्रेड
को सिंक करना न भूलें।
आशा है कि यह आपकी समस्या को हल करेगा :)
Google अपडेट द्वारा हाल ही में जोड़े गए इसे संभालने के लिए एक नया दृष्टिकोण।
अब आप स्वाद या भिन्न आउटपुट के अनुसार अपने बिल्ड का नाम बदल सकते हैं
// नीचे स्रोत डेवलपर से है android प्रलेखन
अधिक जानकारी के लिए उपरोक्त दस्तावेज लिंक का अनुसरण करें
वेरिएंट आउटपुट में हेरफेर करने के लिए वेरिएंट एपीआई का उपयोग करना टूट गया है नए प्लगइन के साथ। यह अभी भी सरल कार्यों के लिए काम करता है, जैसे कि बिल्ड समय के दौरान एपीके नाम को बदलना, जैसा कि नीचे दिखाया गया है:
// 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 बंडल यह डेविड मेडेनजक द्वारा अच्छी तरह से उत्तर दिया गया है
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
}
क्या उपरोक्त कोड की आवश्यकता है
मैंने एंड्रॉइड स्टूडियो के नवीनतम संस्करण 3.3.1 में क्या देखा है
.Aab बंडल का नाम पिछले कोड द्वारा किया जाता है, किसी भी कार्य का नाम बदलने की आवश्यकता नहीं होती है।
आशा है कि यह आप लोगों की मदद करेगा। :)