Sì, possiamo cambiarlo ma con un po 'più di attenzione
Ora aggiungi questo nel tuo build.gradle nel tuo progetto mentre assicurati di aver verificato la variante di build del tuo progetto in release or Debug
questo modo così qui ho impostato la mia variante di build come release
ma puoi selezionare anche come 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)
)
}
}
}
}
Puoi farlo con un approccio diverso In questo modo
defaultConfig {
applicationId "com.myapp.status"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
setProperty("archivesBaseName", "COMU-$versionName")
}
Usando il metodo della proprietà Set in build.gradle
e non dimenticare di sincronizzare il gradle prima di eseguire i progetti
Spero che risolva il tuo problema :)
Un nuovo approccio per gestire questo aggiunto di recente da Google Update
Ora puoi rinominare la tua build in base al sapore o all'output della variante
// La fonte sottostante è dalla documentazione Android per gli sviluppatori
Per maggiori dettagli segui il link di documentazione sopra L'
uso dell'API Variant per manipolare gli output delle varianti è rotto con il nuovo plugin. Funziona ancora per attività semplici, come cambiare il nome APK durante il tempo di compilazione, come mostrato di seguito:
// 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"
}
}
Rinominare il pacchetto .aab Questa è una risposta soddisfacente da 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
}
C'è bisogno del codice sopra
Quello che ho osservato nell'ultima versione di Android Studio 3.3.1
La ridenominazione del pacchetto .aab viene effettuata dal codice precedente in quanto non è necessario rinominare un tutto.
Spero che ti possa aiutare ragazzi. :)