Studio Android: Gradle Product Flavors: Définir les propriétés personnalisées

Je suis la construction de produits différentes saveurs d'une Application Android dans Gradle (Android Studio).

Donc j'ai défini le produit suivant saveurs:

android {

    project.ext.set("customer", "")
    project.ext.set("server", "")

    //Configuration happens here - code removed for readability

    buildTypes {

        debug {
            server = "test"
        }

        release {
            server = "release"
        }
    }

    //Available product flavors
    productFlavors {
        customerA{
            customer = "a"
        }
        customerB{
            customer = "b"
        }
        customerC{
            customer = "c"
        }
    }
}

Cependant, plus tard, quand je accéder à la définition du projet à la propriété "client" (dont la valeur est définie dans le produit de la saveur, je suis actuellement en train de construire) dans une de mes bâtir des tâches, il a toujours la valeur "c", même si iam bâtiment customerA (auquel cas la propriété du client doit être "un", plutôt que "c"). Par exemple, j'ai exécuter la tâche suivante plus tard:

preBuild << {
    println "Building customer: " + customer
}

et il y a toujours des tirages:

Client: c

Donc je suppose que certains d'écraser qui se passe? Peut-être liés à la configuration VS phase d'exécution? Vous ne savez pas comment/pourquoi bien que, de sorte que toute aide est très appréciée.

Mise à JOUR: Sinon il serait déjà obtenir de plus en plus loin pour déterminer le nom du produit saveur (sans le type de build nom attaché à elle), et le type de version (nouveau: sans le produit le nom de la saveur ajoutée) au cours de l'exécution de la phase de build gradle.

Compte tenu de la configuration ci-dessus, le produit escompté de la saveur les noms seraient: customerA, customerB et customerC.

source d'informationauteur AgentKnopf