Cómo configurar la versión de la aplicación de Android por número de construir en Jenkins?

La aplicación se construye automáticamente por jenkins después de un empuje exitoso, pero la versión siempre es 1.0. En lugar de "0" quiero insertar el número de la construcción correspondiente en jenkins: 1.119, 1.120, 1.121 …

Ese es mi archivo build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.2' } } allprojects { repositories { mavenCentral() } } 

Build.sh

 #!/bin/bash gradle clean gradle build #. run_android_ui_tests.sh 

Mi gradle.properities contiene sólo comentarios.

Problema resuelto insertando estas dos cadenas en build.gradle defaultConfig:

 def env = System.getenv() versionName "1." + env['BUILD_NUMBER'] 

en lugar de

 versionName "1.0" 

Tienes que hacer algún preproceso de tu Manifest o build.gradle.

Por ejemplo

  1. 1er paso de construcción es ejecutar algunos script para pegar la versión que usted necesita.
  2. Segundo paso de construcción es construir la aplicación.

Te recomiendo que obtengas un valor de sistema que puedes determinar en cada compilación que tengas, para que puedas cambiar la versión de la aplicación tú mismo en la configuración de compilación.

El mejor acercamiento será utilizar el plugin gradle release para esto. Utilizando esto, puede hacer versión de versión automática en su archivo de manifiesto. Puedes echar un vistazo aquí

Puede usarlo para etiquetar su árbol de fuentes, así como para diferentes versiones.

  • El script de compilación de gradle de Android devuelve el error 137 en preDexDebug
  • El emulador de Android no se inició después de 360 ​​segundos
  • ¿Cómo hacer Cucumber Android pruebas de integración?
  • Emulador de Android en Docker
  • El análisis del proyecto falla después de actualizar a SonarQube 5.0
  • Construyendo un proyecto de Android Studio en Jenkins? Android.compileSdkVersion está ausente
  • Error al crear aplicaciones Android con Jenkins y Gradle en la plataforma linux centos
  • No se encontraron artefactos que coincidan con el patrón de archivo "** / target / *. Apk"
  • Jenkins - Utiliza Genymotion VM en lugar de Android Emulator
  • El proyecto Build Unity con Jenkins falló
  • Emulador de Jenkins y Android: Emulator no parecía comenzar; renunciando
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.