sourcesets - flavors android gradle
¿Cómo cambiar el nombre de apk usando gradle como este formato? (2)
Me gustaría cambiar el nombre del archivo "app-release.apk" para que me guste lo siguiente cuando construyo una aplicación usando gradle.
[format] (appname of package name)_V(version code)_(yyMMdd)_(R|T) [explain] (appname of package name) : example) com.example.myApp -> myApp (version code) : build version code 2.2.3 -> 223 (yyMMdd) : build date 2015.11.18 -> 151118 (R|T) : if app is release, "R" but debug is "T".
Si genero un archivo apk en la versión, el resultado es: myApp_V223_151118_R.apk.
¿Cómo hacer un nombre de archivo como este en gradle?
Este puede ser el camino más corto:
defaultConfig {
...
applicationId "com.blahblah.example"
versionCode 1
versionName "1.0"
setProperty("archivesBaseName", applicationId + "-v" + versionCode + "(" + versionName + ")")
}
buildType: como tal
buildTypes {
debug {
...
versionNameSuffix "-T"
}
release {
...
versionNameSuffix "-R"
}
}
Tenga en cuenta que Android Studio agrega versionNameSuffix por nombre de tipo de compilación de manera predeterminada, por lo que es posible que no lo necesite.
Actualización: por favor verifique la respuesta de Anrimian a continuación, que es mucho más simple y más corta.
Prueba esto:
gradle.properties
applicationName = MyApp
construir.gradle
android {
...
defaultConfig {
versionCode 111
...
}
buildTypes {
release {
...
applicationVariants.all { variant ->
renameAPK(variant, defaultConfig, ''R'')
}
}
debug {
...
applicationVariants.all { variant ->
renameAPK(variant, defaultConfig, ''T'')
}
}
}
}
def renameAPK(variant, defaultConfig, buildType) {
variant.outputs.each { output ->
def formattedDate = new Date().format(''yyMMdd'')
def file = output.packageApplication.outputFile
def fileName = applicationName + "_V" + defaultConfig.versionCode + "_" + formattedDate + "_" + buildType + ".apk"
output.packageApplication.outputFile = new File(file.parent, fileName)
}
}
Referencia: https://.com/a/30332234/206292 https://.com/a/27104634/206292