Impossible d'ajouter buildConfigField dans productFlavors

Dans ma section android {} j'ai essayé de mettre deux types de construction différents pour une application gratuite et payante.

Malheureusement, je reçois une erreur de gradle:

  • Désactiver / Activer les données mobiles sur Android L avec accès racine
  • Android: "Erreur: non valide --tag par défaut pour la cible sélectionnée."
  • Une liste complète de tous les appareils Android
  • Exécutez les tests JUnit dans Gradle pour l'application Android
  • Comment construire un projet apache cordova à partir de la ligne de commande?
  • Quelles URL les services Google Play ont-ils besoin?
  • Le rafraîchissement du projet Gradle 'android-Transport' a échoué: Échec de l'erreur de script, méthode Gradle DSL non prise en charge trouvée: 'buildConfigField ()'! Les causes possibles pourraient être: – vous utilisez la version Gradle où la méthode est absente – vous n'avez pas posé le plugin Gradle qui fournit la méthode – ou il y a une erreur dans un script de construction

    Ceci est ma section android {} dans la création de gradle:

    android { compileSdkVersion 19 buildToolsVersion "19.0.3" defaultConfig { minSdkVersion 10 targetSdkVersion 19 versionCode 1 versionName "1.0" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } buildTypes { release { runProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } debug { debuggable true runProguard false } } productFlavors { free { packageName "pl.grzeslowski.transport.free" buildConfigField "transport.product_flavors.MonetizationType" "MONETIAZATION_TYPE" "transport.product_flavors.MonetizationType.FREE" } paid { packageName "pl.grzeslowski.transport.paid" buildConfigField "transport.product_flavors.MonetizationType" "MONETIAZATION_TYPE" "transport.product_flavors.MonetizationType.PAID" } } } 

    Et c'est mon journal de la console:

    Exécution des tâches: [: transport: compileDebugJava]

    La configuration à la demande est une caractéristique d'incubation. Téléchargez http://repo1.maven.org/maven2/com/android/tools/build/gradle/0.8.3/gradle-0.8.3.pom Téléchargez http://repo1.maven.org/maven2/com/android /tools/lint/lint/22.5.3/lint-22.5.3.pom Télécharger http://repo1.maven.org/maven2/com/android/tools/build/builder/0.8.3/builder-0.8.3 .pom Télécharger http://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/22.5.3/lint-checks-22.5.3.pom Télécharger http://repo1.maven.org /maven2/com/android/tools/sdklib/22.5.3/sdklib-22.5.3.pom Télécharger http://repo1.maven.org/maven2/com/android/tools/ddms/ddmlib/22.5.3/ddmlib -22.5.3.pom Télécharger http://repo1.maven.org/maven2/com/android/tools/build/builder-model/0.8.3/builder-model-0.8.3.pom Télécharger http: // repo1 .maven.org / maven2 / com / android / tools / build / manifeste-fusion / 22.5.3 / manifeste-fusion-22.5.3.pom Télécharger http://repo1.maven.org/maven2/com/android/tools /sdk-common/22.5.3/sdk-common-22.5.3.pom Téléchargez http://repo1.maven.org/maven2/com/android/tools/build/builder-test-api/0.8.3/builder -test-api-0.8.3.pom Downl Oad http://repo1.maven.org/maven2/com/android/tools/common/22.5.3/common-22.5.3.pom Télécharger http://repo1.maven.org/maven2/com/android/tools /lint/lint-api/22.5.3/lint-api-22.5.3.pom Téléchargez http://repo1.maven.org/maven2/com/android/tools/dvlib/22.5.3/dvlib-22.5.3 .pom Télécharger http://repo1.maven.org/maven2/com/android/tools/layoutlib/layoutlib-api/22.5.3/layoutlib-api-22.5.3.pom Télécharger http://repo1.maven.org /maven2/com/android/tools/build/gradle/0.8.3/gradle-0.8.3.jar Télécharger http://repo1.maven.org/maven2/com/android/tools/lint/lint/22.5.3 /lint-22.5.3.jar Télécharger http://repo1.maven.org/maven2/com/android/tools/build/builder/0.8.3/builder-0.8.3.jar Télécharger http: //repo1.maven .org / maven2 / com / android / tools / lint / lint-checks / 22.5.3 / lint-checks-22.5.3.jar

    FAILURE: la compilation a échoué avec une exception.

    • Où: Créez un fichier 'D: \ Programowanie \ GitProjects \ transport \ android-Transport \ transport \ build.gradle' ligne: 77

    • Qu'est-ce qui a mal tourné: un problème s'est produit en évaluant le projet «transport».

      Impossible de trouver la méthode buildConfigField () pour les arguments [transport.product_flavors.MonetizationType] sur GroupableProductFlavorDsl_Decorated {nom = gratuit, minSdkVersion = -1, targetSdkVersion = -1, renderscriptTargetApi = -1, renderscriptSupportMode = null, renderscriptNdkMode = null, versionCode = -1 , VersionName = null, packageName = transport.free, testPackageName = null, testInstrumentationRunner = null, testHandleProfiling = null, testFunctionalTest = null, signetConfig = null, resConfig = null}.

    • Essayez: Exécutez avec l'option –stacktrace pour obtenir la trace de la pile. Exécutez avec –info ou –debug option pour obtenir plus de sortie de journal.

    ÉCHOUER

    Temps total: 9.781 secs

  • Lib / gdbserver Erreur: Autorisation refusée
  • Erreur avec google_play_services_version value from aar library
  • Compass me donne des données folles, l'étalonnage est-il nécessaire ou le capteur est-il cassé?
  • Comment instruire les utilisateurs à signaler un bug dans Android
  • Comment réparer "Mlle une traînée car nous attendons la réponse de WebCore pour toucher"
  • Comment diviser le fichier mp3 en utilisant java
  • 2 Solutions collect form web for “Impossible d'ajouter buildConfigField dans productFlavors”

    La syntaxe correcte pour les lignes buildConfigField est:

     buildConfigField "boolean", "MY_FLAG", "true" 

    En d'autres termes, les cordes doivent être séparées par des virgules.

    Dans mon cas:

    BuildConfigField ("transport.product_flavors.MonetizationType", "MONETIAZATION_TYPE", "transport.product_flavors.MonetizationType.FREE")

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.