Llamar a Gradle buildConfig varias veces

Im problema encontrar una manera de agregar varias líneas a mi BuildConfig usando Gradle. Parece que cuando llamo buildConfig una segunda vez, el primero desaparece.

Originalmente estaba agregando este buildConfig desde un lugar diferente, pero fue capaz de crear una prueba reproducible mínima si lo hago:

buildTypes { debug { versionNameSuffix "-DEBUG" buildConfig "public static final int THING_ONE = 1;" buildConfig "public static final int THING_TWO = 2;" } release { zipAlign true buildConfig "public static final int THING_ONE = 3;" buildConfig "public static final int THING_TWO = 4;" } } 

Entonces cuando intento utilizarlo en código:

 public class Thing { public static final int THING = com.example.BuildConfig.THING_ONE + com.example.BuildConfig.THING_TWO; } 

Voy a obtener este error:

 /Example/src/main/java/com/example/Thing.java:2: cannot find symbol symbol : variable THING_ONE location: class com.example.BuildConfig public static final int THING = com.example.BuildConfig.THING_ONE + com.example.BuildConfig.THING_TWO; 

¿Hay alguna manera de agregar varias líneas diferentes a la buildConfig para cada productFlavor o buildType (usando múltiples llamadas a buildConfig – en lugar de una cadena de varias líneas)?

Como @CommonsWare señaló, desde Gradle 1.9 (Android Studio 0.4.0) tiene que declarar su BuildConfig campos como ese:

 buildTypes { debug { versionNameSuffix "-DEBUG" buildConfigField "int", "THING_ONE", "1" buildConfigField "int", "THING_TWO", "2" } } 
  • Gradle - No se puede importar viewpagerindicator en Android Studio usando gradle dependency
  • Error de Gradle "Atributo" xxx "ya se ha definido" en Android Studio
  • Android gradle ndk jni construir con biblioteca externa y depuración nativa (ARToolkit)
  • Línea de comandos de Gradle: falló al encontrar el objetivo android-22
  • Añadir biblioteca java al proyecto Android Studio con el repositorio maven
  • Forzar a usar el mismo certificado para firmar diferentes "buildTypes" que están configurados para un particular "productFlavor"?
  • Java.lang.UnsatisfiedLinkError - NDK en el nivel de estudio de Android?
  • Después de la actualización de Android Studio 2.2 / gradle plugin 2.2.0: "no se puede obtener propiedad desconocida 'assembleRelease'"
  • Error: (1, 0) No se encontró el complemento con id 'com.android.application'
  • ¿Cómo puedo añadir una biblioteca (android-support-v7-appcompat) en IntelliJ IDEA
  • Gradle dependencias diferencia entre compilar, apk proyecto, proyecto de compilación, proporcionado, proyecto de implementación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.