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


Acceso a variables de entorno desde Android Studio gradle build

En mi compilación de Android Gradle necesito tener acceso a variables de entorno que establezco desde .bash.profile . Funciona bien cuando construyo desde la línea de comandos – Gradle script puede ver todas las variables.

Sin embargo, cuando intento ejecutar mi compilación desde Android Studio – ya no tengo mis variables de entorno.

Aquí está una imagen aproximada de lo que estoy enfrentando:

1) Establecer variable de entorno personalizado a través de ~/.bash.profile :

 export MY_CUSTOM_VAR='Hello World' 

2) En build.gradle create task que imprime esta variable de entorno:

 task printVar << { println System.getenv("MY_CUSTOM_VAR") } 

3) ejecute printVar desde la línea de comandos. La salida es correcta – se establece la variable env:

Salida: Hello World

4) ejecutar printVar desde Android Studio. La variable de entorno no está establecida . La salida está vacía

El sentido común me dice que al hacer la export MY_CUSTOM_VAR='Hello World' , sólo hago esta variable disponible para el proceso shell (y sus subprocesos). Y probablemente funcionaría si lanzo mi Android Studio desde la línea de comandos (por lo que heredaría mi entorno). Pero desde que lanzé Android Studio desde el dock (estoy en Mac por cierto) – tiene su propio entorno que no tiene ni idea de mi ~/.bash.profile .

¿Hay alguna manera de poder poblar las variables de entorno personalizadas a Android Studio?

  • ¿Cómo utilizar crontab en Android?
  • Cómo vaciar (borrar) el búfer logcat en Android
  • Error al ejecutar el comando adb mediante programación
  • Controla el LED Android desde el shell
  • Cómo leer las propiedades de Android con Java
  • C ++ Command Line Aplicaciones en Android?
  • ADB Shell que da el modo incorrecto al ejecutar chmod (bajo su)
  • Cómo usar el mono androide
  • 2 Solutions collect form web for “Acceso a variables de entorno desde Android Studio gradle build”

    Se encontró una respuesta aquí: Variables de entorno en Mac OS X

    Esencialmente, también es necesario establecer variables de entorno utilizadas por launchd mediante launchctl – esta variable de entorno estará disponible para todo lo que se lance desde MacOS UI

    Así que modifiqué mi ~/.bash_profile siguiente manera:

     export MY_CUSTOM_VAR='Hello World' launchctl setenv MY_CUSTOM_VAR $MY_CUSTOM_VAR 

    Puede establecer el entorno utilizado por launchd (y, por extensión, cualquier cosa que se inicie desde Spotlight) con launchctl setenv. Por ejemplo, para establecer la ruta:

    launchctl setenv MY_CUSTOM_VAR /***/***/***

    Para mantener los cambios después de un reinicio, puede establecer las variables de entorno de /etc/launchd.conf, así:

    setenv MY_CUSTOM_VAR /***/***/***

    Puede ver Configuración de variables de entorno en OS X?

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.