Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo agregar la fecha de compilación a versionNameSuffix en gradle

Estoy usando Android Studio y necesito añadir un sufijo a versionNameSuffix en mi archivo build.gradle de Android. Tengo tres diferentes buildTypes y sólo tengo que añadir el datetime a mi versión beta, mi archivo real es:

defaultConfig { versionCode 14 versionName "0.7.5" minSdkVersion 9 targetSdkVersion 18 } buildTypes { beta { packageNameSuffix ".beta" versionNameSuffix "-beta" signingConfig signingConfigs.debug } .... } 

Para probar e implementar automáticamente, necesito obtener una 0.7.5-beta-build20131004 final como: 0.7.5-beta-build20131004 , 0.7.5-beta-build1380855996 o algo así. ¿Algunas ideas?

  • Diferencia entre proyecto de biblioteca y biblioteca y bibliotecas externas
  • Shrink Debug Multi Dex Component; No se puede leer dir / allclasses.jar
  • Cómo utilizar artifactoryPublish para publicar artefactos de liberación y depuración
  • ¿Por qué Gradle crea mi módulo en el modo Release cuando la aplicación está en Debug
  • ¿Cómo configuro una variable de entorno en Android Studio antes de ejecutar mi compilación gradle?
  • Android studio no reconoce las carpetas de origen
  • Android Studio cómo empaquetar AAR único de varios proyectos de biblioteca?
  • Añadir biblioteca externa en Android studio 0.3.6
  • 5 Solutions collect form web for “Cómo agregar la fecha de compilación a versionNameSuffix en gradle”

     beta { packageNameSuffix ".beta" versionNameSuffix "-beta" + "-build" + getDate() signingConfig signingConfigs.debug } def getDate() { def date = new Date() def formattedDate = date.format('yyyyMMddHHmmss') return formattedDate } 

    Condensado:

     def getDate() { new Date().format('yyyyMMddHHmmss') } 

    Puede definir en sus funciones y variables personalizadas build.gradle.

     def versionMajor = 3 def buildTime() { def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'") // you can change it df.setTimeZone(TimeZone.getTimeZone("UTC")) return df.format(new Date()) } 

    Entonces usted puede utilizarlo:

     android { defaultConfig { versionName "${versionMajor}-beta-build-${buildTime()}" } } 

    O si quieres añadirlo en tu versionNameSuffix

     beta { versionNameSuffix "-beta-build-${buildTime()}" } 

    Además, no olvide agregar la importación como primera línea de Gradle:

     import java.text.SimpleDateFormat; ... 

    No estoy familiarizado con Android Studio, pero asumo que Gradle se comporta como normalmente lo hace. Añadir algo como esto a su configuración de proyecto de construcción debe hacer el truco:

     allProjects { gradle.taskGraph.whenReady { taskGraph -> versionNameSuffix += '-build' + // Java/Groovy code to produce the timestamp formatted the way you want } } 

    Puedes probar

     task timenow { println(new Date().getTime()) } 

    Gradle de carrera: gradle timenow

    Ver detalles. Colóquelo en la versión de nivel superior

     ext { configuration = [ appName : "vBulletin", applicationId : "com.vbulletin", minSdkVersion : 14, targetSdkVersion : 19, compileSdkVersion: 19, versionCode : 6, versionName : "1.3.6", buildToolsVersion: "25.0.0", ] } task createBrand { appConfig.applicationId = appConfig.applicationId + ".${brand}" appConfig.versionCode = new Date().getTime() appConfig.versionName = version } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.