2017-09-16 1 views
1

Je suis en train de Gradle pour charger les propriétés à distance dynamiquement à chaque génération, et les valeurs d'utilisation dans les fichiers Gradle:constantes globales Android Gradle

-settings.gradle 
-build.gradle (project) 
-build.gradle (module : lib) 
-build.gradle (module : app) 

J'ai trouvé une solution, mais je ne sais pas si c'est la meilleur:

dans settings.gradle, je propriétés comme ça récupérer:

//cfg is a java Properties class (key/value) 
gradle.ext.cfg = Plugin.configureProject("url") 

Et je l'utilise dans chaque fichier gradle comme ça (par exemple avec applicationId dans build.gradle (app)):J'ai essayé d'utiliser rootProject.ext, mais il n'est pas accessible dans settings.grade.

J'ai essayé de créer le plugin personnalisé mais la seule façon de rendre accessible partout est de rendre les propriétés statiques à l'intérieur et le charger dans settings.gradle, ne sais pas s'il vaut mieux ..

Est-il bon de utiliser gradle.ext comme ça dans tous les .gradle? Cela fonctionne mais peut-être qu'il y a une meilleure solution.

Thx

Répondre

1

vous pouvez ajouter cette ligne buildConfigField "boolean", "ISBOOLEAN", "false" dans votre build.gradle comme:

buildTypes { 
     release { 
      //some code 
      buildConfigField "boolean", "ISBOOLEAN", "false" 
      //somecode} } 

puis un nouveau fichier java appelé buildconfig sera créé contenant vos variables et vous pouvez accéder à votre statique variables

+0

Oui pour les constantes java je fais cela, mais je voudrais des constantes pour tous les fichiers gradle. Je modifie mon post, je n'étais pas clair désolé – Lyofen