¿Cómo configuro una variable de entorno en Android Studio antes de ejecutar mi compilación gradle?

Mi compilación de Gradle examina una variable de entorno denominada BUILD_NUMBER para determinar la versión a asignar a mi aplicación android de la siguiente manera:

def buildNumber = System.getenv("BUILD_NUMBER") ?: "local" 

Por tanto, siempre y cuando se establezca esa variable de entorno, el número de compilación se usará en defaultConfig como sigue:

 versionName "1.4.0."+buildNumber 

Normalmente, Jenkins llamará a esta generación de Gradle y proporcionará la variable de entorno BUILD_NUMBER.

Si ejecuto la construcción de Gradle desde mi línea de comandos, sé que puedo establecer BUILD_NUMBER = x.

Sin embargo, si construyo utilizando Android Studio, ¿cómo puedo configurar la variable de entorno BUILD_NUMBER a través de Android Studio?

Una opción es hacer uso de las propiedades gradle que pueden ser invalidadas por las variables de entorno. Puedes leer sobre esto aquí .

Si el nombre de la variable de entorno parece ORG_GRADLE_PROJECT _ prop = somevalue, Gradle establecerá una propiedad prop en su objeto de proyecto, con el valor de somevalue.

Lo que esto significa es que usted puede

  1. BUILD_NUMBER=42 en su archivo .properties (proyecto, o global) como lo haría normalmente,
  2. Y en su CI nombraría la variable de entorno ORG_GRADLE_PROJECT_BUILD_NUMBER , sobrescribiendo o estableciendo BUILD_NUMBER en su compilación de CI.

Nota: Utilice gradle.properties en el directorio raíz del proyecto y no modifique local.properties .

Terminé usando el siguiente en mi build.gradle:

 def buildNumber = System.getenv("BUILD_NUMBER") if (buildNumber == null) { Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) buildNumber = properties.getProperty('buildNumber')?:"NoBuildNumberFound" } 

Debido a que el archivo local.properties no se supone que está asignado a su repositorio de código fuente, cada desarrollador administra su propia copia.

Así que si quieren establecer el buildNumber en su Android Studio local, simplemente agregue lo siguiente a su local.properties:

 buildNumber=7 

Así que en una máquina de desarrolladores locales, el número de compilación se establecerá en lo que se ponga en su archivo local.properties, pero en nuestro servidor Jenkins, utilizará la variable de entorno BUILD_NUMBER

Nuestro servidor Jenkins establece la variable de entorno BUILD_NUMBER

Estas son sólo variables de entorno.

Si en Windows, vaya al panel de control del sistema operativo y escriba "environment" en el cuadro de búsqueda en la parte superior derecha. A continuación, haga clic en "Editar variables de entorno para su cuenta", altamente amigable y sin derechos de administrador. Reinicie el Android Studio después de la edición.

Si bajo Linux, edite .bashrc en su carpeta de inicio ( vi ~/.bashrc o con algún otro editor). Aquí se pueden establecer variables de entorno. source ~/.bashrc (o cierre sesión / inicio de sesión) y reinicie el Android Studio después de la edición.

  • Agregue dependencia de tareas a la tarea de complemento existente en Gradle?
  • Grails / Gradle prueba falla en CI no localmente
  • Gradle y estructura multiproyecto
  • Uso de la biblioteca personal alojada en github como dependencia gradle
  • ¿Cuál es el propósito de Gradle?
  • Gradle Método DSL no encontrado: 'apt ()'
  • Error: No se pudo encontrar: com.android.support:support-v4:20.0.+
  • Android Studio y Gradle - falla la compilación
  • Android Gradle tarea: connectedInstrumentTest para la creación de lanzamiento?
  • Qué significa "especificado para la propiedad 'resDir' no existe."
  • ¿Puede una biblioteca JAR de Android depender de una librería AAR de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.