Leer versionName de build.gradle en bash

¿Hay una manera de leer el valor build.gradle archivo build.gradle de un proyecto de Android para usarlo en bash?

Más precisamente: ¿Cómo puedo leer este valor del archivo y usarlo en un script Travis-CI? Lo usaré como

 # ANDROID_VERSION=??? export GIT_TAG=build-$ANDROID_VERSION 

Configuré un Travis-CI como se describe en este post https://stackoverflow.com/a/28230711/1700776 .

Mi build.gradle: http://pastebin.com/uiJ0LCSk

Puede definir una tarea personalizada, es decir,

 task('printVersion') << { println project.version } 

Y ejecútalo en Bash:

 $ gradle -q pV 1.8.5 

Gracias al comentario de alnet me propuse esta solución (nota la objeción de Doug Stevenson ):

 # variables export GRADLE_PATH=./app/build.gradle # path to the gradle file export GRADLE_FIELD="versionName" # field name # logic export VERSION_TMP=$(grep $GRADLE_FIELD $GRADLE_PATH | awk '{print $2}') # get value versionName"0.1.0" export VERSION=$(echo $VERSION_TMP | sed -e 's/^"//' -e 's/"$//') # remove quotes 0.1.0 export GIT_TAG=$TRAVIS_BRANCH-$VERSION.$TRAVIS_BUILD_NUMBER # result echo gradle version: $VERSION echo release tag: $GIT_TAG 

p.ej

 android{ android.applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile def fileName if (outputFile != null && outputFile.name.endsWith('.apk')) { if (!outputFile.name.contains('unaligned')) { fileName = "yourAppRootName_${variant.productFlavors[0].name}_${getVersionName()}_${variant.buildType.name}.apk" output.outputFile = new File(outputFile.parent + "/aligned", fileName) } } } } } 

use ${getVersionName()} para obtener la versión en build.gradle

  • Error al iniciar el emulador x86 de Android en Travis CI
  • Travis CI falló porque no puede aceptar licencia Constrain Layout
  • ¿Hay alguna manera de ejecutar un conjunto específico de pruebas en un proyecto de Android Gradle?
  • Travis.yml ./gradlew: Permiso denegado
  • No se puede configurar travis para trabajar en el proyecto android
  • Uso de Travis CI con Android
  • ¿Hay una manera de iniciar el emulador de Android en Travis CI construir?
  • Cómo ejecutar Prueba Travis-CI y Espresso
  • ¿Cómo configurar un emulador que ejecuta API 25 usando una matriz de compilación en Travis CI?
  • Travis CI se queda atascado en la creación de herramientas de construcción en Android
  • Travis CI Build falla en la aplicación de Android Versión de major.minor no compatible 52
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.