Sí, podemos cambiar eso, pero con un poco más de atención.

Ahora agregue esto en su build.gradle en su proyecto mientras se asegura de haber verificado la variante de compilación de su proyecto, release or Debug
así que aquí he configurado mi variante de compilación como releasepero también puede seleccionar Debug.
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)
)
}
}
}
}
Puedes hacerlo con un enfoque diferente como este
defaultConfig {
applicationId "com.myapp.status"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
setProperty("archivesBaseName", "COMU-$versionName")
}
Usando el método Set property en build.gradle
y No olvides sincronizar el gradle antes de ejecutar los proyectos
Espero que resuelva tu problema :)
Un nuevo enfoque para manejar esto sumado recientemente por actualización de Google
Ahora puede cambiar el nombre de su construcción de acuerdo con el sabor o la salida de variante
// A continuación fuente es de desarrollador de documentación androide
Para más detalles siguen el anterior enlace de documentación
Uso de la API variante de manipular salidas variante es roto con el nuevo complemento. Todavía funciona para tareas simples, como cambiar el nombre del APK durante el tiempo de compilación, como se muestra a continuación:
// 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"
}
}
Cambiar el nombre del paquete .aab Esto es muy bien respondido por 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
}
¿Hay necesidad del código anterior?
Lo que he observado en la última versión de Android Studio 3.3.1
El cambio de nombre del paquete .aab se realiza mediante el código anterior, no requiere ninguna tarea para cambiar el nombre de un todo.
Espero que les ayude, muchachos. :)