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


Manera correcta de usar variables de entorno del sistema en gradle usando Android Studio

Estoy usando Android Studio para construir mi proyecto en un sistema Ubuntu 14.04.

Escribí lo siguiente en mis archivos de build.gradle para evitar hardcoding storeFile, storePassword, keyAlias ​​y keyPassword en mi repo de git:

  • Android: devuelve la consulta de búsqueda a la actividad actual
  • Actividad de inicio de Android al presionar elemento ListView de widget
  • Cómo importar fuente externa / tipo de letra en ANDROID STUDIO?
  • El mismo menú de opciones en todas las actividades de Android
  • Ventana de superposición del sistema Android
  • Problemas al usar la API Java de EWS en Android
  • signingConfigs { debug { storeFile file(System.getenv("KEYSTORE")) storePassword System.getenv("KEYSTORE_PASSWORD") keyAlias System.getenv("KEY_ALIAS") keyPassword System.getenv("KEY_PASSWORD") } 

    Sin embargo, los errores de sincronización gradle con lo siguiente: Error:(49, 0) Neither path nor baseDir may be null or empty string. path='null' basedir='./pathto/TMessagesProj' Error:(49, 0) Neither path nor baseDir may be null or empty string. path='null' basedir='./pathto/TMessagesProj'

    Mi .bashrc contiene: source ~/.gradlerc y mi ~ / .gradlerc contiene lo siguiente:

     export KEYSTORE="/home/myname/keystore/mykey" export KEYSTORE_PASSWORD='mypass' export KEY_ALIAS='mykey' export KEY_PASSWORD='keypass' 

    He confirmado que estas variables son importadas correctamente por el shell. Sin embargo, no estoy seguro de por qué no es recibido por el entorno de compilación en Android Studio.

    ¿Cuál es la forma correcta de usar variables de entorno en gradle?

  • Barra de acción de soporte de Android que no muestra el menú de desbordamiento
  • Android Studio Gradle Error en tiempo de compilación
  • La solicitud ajax de Aquery no parece comenzar en android
  • Facebook Android sdk lanzando falta redireccionamiento uri en Authetication
  • Problema al agregar pie de página a ListView
  • Spinner de Selección Múltiple
  • 2 Solutions collect form web for “Manera correcta de usar variables de entorno del sistema en gradle usando Android Studio”

    También me gusta tener mi información de keystore sobre mis variables de entorno, en lugar de tenerla dentro del proyecto. Su código parece bien, pero estaba teniendo el mismo problema con la ruta del archivo. Lo resolví convirtiendo ese valor en cadena antes de pasarlo a file() :

     signingConfigs { debug { storeFile file(String.valueOf(System.getenv("KEYSTORE"))) storePassword System.getenv("KEYSTORE_PASSWORD") keyAlias System.getenv("KEY_ALIAS") keyPassword System.getenv("KEY_PASSWORD") } 

    Espero que esto ayude.

    Cree un archivo gradle.properties en su carpeta de origen (junto con build.gradle ) para aplicarlo solo al proyecto actual o en ~/.gradle/gradle.properties para aplicarlo a todo el sistema con el contenido:

     keystore=/home/myname/keystore/mykey keystore_password=mypass key_alias=mykey key_password=keypass 

    Ahora actualice su archivo build.gradle con:

     debug { storeFile file("${keystore}") storePassword "${keystore_password}" keyAlias "${key_alias}" keyPassword "${key_password}" } 

    Opcionalmente, puede pasar los parámetros desde la línea de comandos con la opción -P . Por ejemplo, ./gradlew assemble -Pkey_password=keypass .

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