studio sourcesets flavors defaultconfig configurar cambiar actualizar android android-studio gradle android-gradle

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