Oui on peut changer ça mais avec un peu plus d'attention
Maintenant, ajoutez ceci dans votre build.gradle dans votre projet tout en vous assurant que vous avez vérifié la variante de construction de votre projet comme release or Debug
si ici j'ai défini ma variante de construction comme release
mais vous pouvez également sélectionner comme débogage.
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)
)
}
}
}
}
Vous pouvez le faire avec une approche différente comme celle-ci
defaultConfig {
applicationId "com.myapp.status"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
setProperty("archivesBaseName", "COMU-$versionName")
}
En utilisant la méthode Set property dans build.gradle
et n'oubliez pas de synchroniser le gradle avant d'exécuter les projets
J'espère que cela résoudra votre problème :)
Une nouvelle approche pour gérer cela, ajoutée récemment par Google Update
Vous pouvez maintenant renommer votre build en fonction de la saveur ou de la sortie de variante
// La source ci-dessous provient de la documentation Android du développeur
Pour plus de détails, suivez le lien de documentation ci-dessus L'
utilisation de l'API Variant pour manipuler les sorties de variante est cassée avec le nouveau plugin. Cela fonctionne toujours pour des tâches simples, telles que la modification du nom de l'APK pendant la construction, comme indiqué ci-dessous:
// 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"
}
}
Renommer le bundle .aab Ceci est bien répondu par 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
}
Y a-t-il besoin du code ci-dessus
Ce que j'ai observé dans la dernière version du studio android 3.3.1
Le changement de nom du bundle .aab est effectué par le code précédent, il ne nécessite aucun renommage de tâche.
J'espère que cela vous aidera les gars. :)