Android Studio Update 0.4.0 no pudo encontrar buildConfig ()

Después de actualizar Android Studio a la versión 0.4.0 recibí un nuevo error:

He actualizado a gradle 1.9 a través de gradle-wrapper.properties

distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip 

Y actualizó la versión gradle en build.gradle

 dependencies { classpath 'com.android.tools.build:gradle:0.7.+' } 

Ahora mi proyecto está construyendo de nuevo.

Tengo algunas constantes de cadena definidas para diferentes productFlavors:

 productFlavors { local { buildConfig "public static final String MY_KEY = \"\";" } alpha { buildConfig "public static final String MY_KEY = \"XXXXX-XXXXX-XXX\";" } beta { buildConfig "public static final String MY_KEY = \"YYYYY-YYYYY-YYY\";" } } 

Y aquí está el nuevo error

No se encontró el método buildConfig () para los argumentos [public static final String MY_KEY = "";] en GroupableProductFlavorDsl_Decorated {nombre = local, minSdkVersion = -1, targetSdkVersion = -1, renderscriptTargetApi = -1, renderscriptSupportMode = null, renderscriptNdkMode = VersionCode = -1, versionName = null, packageName = null, testPackageName = null, testInstrumentationRunner = null, testHandleProfiling = null, testFunctionalTest = null, signedConfig = null, resConfig = null}.

Todo funcionaba con Android Studio 3.7

No puedo usar el comentario (demasiado largo). Puedes encontrarlo en lo que hay de nuevo en gradle 1.9.

Cambios en DSL: buildConfigLine se reemplaza por buildConfigField :

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

Puede sobrescribir los campos definidos en configuración predeterminada en los estilos o tipos de construcción. Véase la muestra "básica".

Build Config también contiene automáticamente más constantes para PACKAGE_NAME , VERSION_CODE , VERSION_NAME , BUILD_TYPE , BUILD_TYPE y FLAVOR_<group> si hay varias dimensiones de sabor.

Así que si usted tiene una línea como esta:

 buildConfig "public static final boolean MY_FLAG = true;" 

Ahora debe reemplazarlo por algo como esto:

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

En tu caso:

 buildConfigField "String" , "MY_KEY" , "\"XXXXX-XXXXX-XXX\"" 

ACTUALIZACIÓN 12/09/2015:

Con el nuevo plugin experimental (0.2.1) tienes que usar:

 buildConfigFields.with { create() { type = "String" name = "MY_KEY" value = "MY_VALUE" } } 

Esta versión introduce un cambio:

 buildConfigField "<type>", "<name>", "<value>" 

Si tiene una línea como esta:

 buildConfig "public static final boolean FLAG = true;" 

Ahora tienes que usar:

 buildConfigField "boolean", "FLAG", "true" 

Para los valores de String puede utilizar:

 buildConfigField "String", "FOO", "\"foo\"" 

Nota: El anterior DSL proprety:

 buildConfigLine "<value>" 

Ha cambiado a

 buildConfigField "<type>", "<name>", "<value>" 
  • Android Studio, Sync Problema: no se puede encontrar DestinationRootCopySpec
  • La sincronización de Gradle falla con el complemento Dexguard (Android Studio)
  • Añadir dependencia gradle para dar soporte a android.util.ArrayMap
  • Explicar la estrategia de dependencias transitivas descrita en la documentación de Android Build System
  • ¿Por qué Android Studio no puede hacer referencia a una biblioteca si se incluye sólo en build.gradle?
  • Proyecto Android de Kotlin falló al sincronizar el Proyecto Gradle
  • Android Studio Error: Método Gradle DSL no encontrado: 'tiene ()'
  • Sonar: Cómo utilizar gradle para inspeccionar un proyecto de android
  • Versión de actualización de conflictos a play-services 9.4.0 Android studio 2.2
  • Obtener el nombre del paquete de la variante de aplicación en el complemento gradle
  • Importar biblioteca en Eclipse sin jar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.