Je voudrais définir une configuration de dépôt déposée où je peux utiliser une variable définie dans le script gradle lui-même:
def someVar = 512
Android {
...
buildConfigField 'int', 'SOME_INT_FIELD', someVar
}
Mais cela produit l'erreur suivante:
Erreur: (25, 0) Méthode DSL Gradle introuvable: 'buildConfigField ()'
Causes possibles:
- Le projet 'PROJECT' peut utiliser une version de Gradle qui ne contient pas la méthode.
- Il manque peut-être un plug-in Gradle dans le fichier de construction.
Je pourrais utiliser des citations comme:
def someVar = 0
Android {
...
buildConfigField 'int', 'SOME_INT_FIELD', '"' + someVar + '"'
}
Mais cela vient à une erreur de compilation dans BuildConfig
// Fields from default config.
public static final int SOME_INT_FILED = "512";
Donc pour l'instant je reste avec:
def someVar = 0
Android {
...
buildConfigField 'String', 'SOME_INT_FIELD', '"' + someVar + '"'
}
et l'utiliser comme:
final int value = Integer.valueOf(BuildConfig.SOME_INT_FIELD);
Quelqu'un a-t-il une meilleure solution ou est-ce que j'utilise mal buildConfigField?
(J'ai également essayé d'utiliser des parenthèses en combinaison avec l'une des possibilités ci-dessus.)
def someVar = 100
buildConfigField 'int', 'SOME_INT_FIELD', String.valueOf(someVar)
J'utilise ce qui précède pour résoudre la question, j'espère vous aider.