Método DSL de Android Studio Gradle no encontrado: 'android ()' - Error (17,0)

82

Estoy intentando ejecutar mi proyecto en Android Studio, pero el error aparece a continuación:

ingrese la descripción de la imagen aquí

He seguido muchas fuentes solo para que esto funcione y he terminado aquí, pero no sé qué más hacer.

¿Cómo puedo configurar este proyecto para que se ejecute?

build.gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.9.+'
        }
    }

    allprojects {
        repositories {
            mavenCentral()
        }
    }

    android {
        compileSdkVersion 19
        buildToolsVersion "19.1" 
    }

settings.gradle:

include ':app'

propiedades.locales:

sdk.dir=C\:\\Users\\KJA\\AppData\\Local\\Android\\sdk

gradle.propertes:

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
Sauron
fuente
1
Supongo que acabas de empezar este proyecto. ¿Por qué no Archivo -> Nuevo proyecto y deja que configure Gradle por ti? Además, actualice su complemento de gradle a 1.0.
Jared Burrows
Este es un proyecto de una fuente en línea, lo importé
Sauron
Por favor vea mi respuesta. Simplemente necesita actualizar el proyecto.
Jared Burrows

Respuestas:

56

Seguí adelante y descargué el proyecto desde el enlace que proporcionaste: http://javapapers.com/android/android-chat-bubble/

Dado que este es un tutorial antiguo, simplemente necesita actualizar el software, gradle, las herramientas de compilación de Android y el complemento.

Asegúrate de tener la última versión de Gradle y Android Studio:

build.gradle:

buildscript {
    repositories {
        jcenter()
    }

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

allprojects {
    repositories {
        jcenter()
    }
}

aplicación / build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.3'

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName '1.0'
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.1'
}

Luego ejecuta gradle:

gradle installDebug
Jared Burrows
fuente
En primer lugar, gracias por el esfuerzo extra !! Pero cuando descargué el proyecto y lo importé, solo había un archivo build.gradle. ¿Cómo obtuviste dos, la aplicación y el proyecto?
Sauron
Descargué el zip y revisé los archivos a través de la línea de comandos. Además, suele haber un build.gradle superior y un build.gradle del proyecto. Cuando importa su proyecto a Intellij / Android Studio, seleccione el archivo build.gradle superior. Hay un build.gradle superior y otro en la carpeta de la aplicación.
Jared Burrows
@Sauron ¿Todo te funciona? Necesitas usar mis build.gradles actualizados para que se ejecute. Además, avíseme si necesita más ayuda.
Jared Burrows
@JaredBurrows ¿También puedes ayudar con stackoverflow.com/questions/30958596/… ? Es una pregunta similar a esta. Estoy teniendo dificultades para actualizar Gradle.
committedandroider
1
Solo quería agregar un comentario de que esto también funciona para cualquiera que intente configurar el nuevo proyecto en blanco de Inicio rápido de Android de Parse.com que tiene el mismo problema si descarga e instala :)
Máx.
46

En tu nivel superior build.gradleparece que tienes el código

android {
   compileSdkVersion 19
   buildToolsVersion "19.1" 
}

No puede tener este código en el nivel superior build.gradleporque el complemento de compilación de Android aún no está cargado. Puede definir la versión de compilación y la versión de herramientas de compilación en el nivel de la aplicación build.gradle.

iTapAndroid
fuente
3
La maravillosa vista previa de Android Studio 2.2 pone esto al azar en build.gradle de nivel superior
Kevin
27

Por alguna razón desconocida, Android Studio agrega incorrectamente el método android () en el archivo build.gradle de nivel superior.

Simplemente elimine el método y me funciona.

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'
}
Rahul Kumar
fuente
3
Sigue siendo un problema en 2016, y aún se resuelve comentando la sección.
BurninLeo
1
Este código fue generado por AS. Eliminando resuelto el isseu. ¡Gracias!
Tom Bevelander
14

He intentado gestionar este problema mediante los pasos a continuación:

Eliminar android { ... }bloque en el archivo gradle raíz de nivel superior

Examinar

 compileSdkVersion 22
 buildToolsVersion "22.0.0"

líneas de código en la aplicación / archivo gradle aquí, solo una de las versiones siguientes en el menú desplegable a continuación debería estar presente; de ​​lo contrario, brindaría la opción de descargar la misma.

ingrese la descripción de la imagen aquí

KOTIOS
fuente
Migré a Android 5.0, por lo que esto ya no es un problema,
Sauron
10

Recibí este mismo error cuando intentaba importar un proyecto Eclipse NDK en Android Studio. Resulta que, para la compatibilidad con NDK en Android Studio, debe usar un nuevo complemento de gradle y android (y la versión de gradle 2.5+ para el caso). Este complemento requiere cambios en el archivo build.gradle del módulo. Específicamente, el objeto " android {...}" debe estar dentro del objeto " modelo {...}" como este:

apply plugin: 'com.android.model.application'
model {
    android {
    ....
    }
}

Entonces, si ha actualizado su configuración de Gradle para usar el nuevo complemento de Gradle y el nuevo complemento de Android, pero no cambió la sintaxis build.gradle del módulo, podría obtener el error "Método DSL de Gradle no encontrado: 'android ()'" .

Preparé un archivo de parche aquí que tiene algunas explicaciones adicionales en los comentarios: https://gist.github.com/shumoapp/91d815de6e01f5921d1f Estos son los cambios que tuve que hacer después de importar el proyecto ndk de audio nativo en Android Studio.

Shumoapp
fuente
¡Gracias! funcionó en un proyecto limpio de android cocos2d
Jacek Pietal
1

Corregir la configuración de Gradle es bastante difícil. Si no sabe mucho sobre Gradle, es necesario que aprenda mucho. En su lugar, puede hacer lo siguiente:

1) Inicie un nuevo proyecto en una nueva carpeta. Elija la misma configuración con su proyecto con problema de gradle, pero manténgalo simple: elija una actividad principal vacía. 2) Elimine todos los archivos en ... \ NewProjectName \ app \ src \ carpeta principal 3) Copie todos los archivos en ... \ ProjectWithGradleProblem \ app \ src \ main folder en ... \ NewProjectName \ app \ src \ main carpeta. 4) Si está utilizando el proyecto de prueba (\ ProjectWithGradleProblem \ app \ src \ AndroidTest) también puede hacer lo mismo.

este método funciona bien si la instalación de Gradle es correcta. Si acaba de instalar Android Studio y no lo modificó, la instalación de Gradle debería estar bien.

Viajero
fuente
1

En realidad probé muchas combinaciones, nada funcionó

pero cuando modifiqué el archivo gradle de mi aplicación con lo siguiente

 buildTypes {
        release {
            minifyEnabled false
        }
    }

Quitando la Línea

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'

funcionó normalmente :)) saludos

Bhushan Shirsath
fuente
1

Otra solución si ha instalado android-studio-bundle-143.2915827-windows y gradle2.14

Puede verificar en C: \ Archivos de programa \ Android \ Android Studio \ gradle si tiene gradle-2.14.

Luego debe ir a C: \ Users \\ AndroidStudioProjects \ android_app \

Y en este build.gradle pones este código:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}

Luego, vaya a C: \ Users \ Raul \ AndroidStudioProjects \ android_app \ Desnutricion_infantil \ app

Y en este build.gradle pones:

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '24.0.0'
defaultConfig {
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
}

Debe verificar su versión sdk y buildTools. compileSdkVersion 23 buildToolsVersion '24 .0.0 '

Guarde todos los cambios y reinicie AndroidStudio y todo debería estar bien.

Raúl EL
fuente
En mi humilde opinión, la respuesta anterior de Traveller que sugería la creación de un nuevo proyecto para averiguar qué configuraciones usar, es a) más fácil de hacer, b) continuará funcionando, en futuras versiones de Android, cuando la "mejor" configuración para usar puede haber cambiado .
ToolmakerSteve
0

Simplemente elimine estas líneas de la raíz build.gradle

android {
compileSdkVersion 19
buildToolsVersion '19.1' }

Ahora intente y compile de nuevo. Deberia de funcionar.

k9x
fuente
0

Cambiar al archivo root build.gradle

a

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
mesutpiskin
fuente
0

Lo que funcionó para mí fue importar el proyecto con "Archivo -> Nuevo -> Proyecto desde control de versiones" y luego elegir su fuente en línea (GitHub, por ejemplo). De esta manera, todos los archivos .gradle se crearon en la importación.

martin36
fuente
0

También me encuentro con esos problemas y simplemente elimino el código inferior:

DELETE THESE LINES:
android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
}

funcionó.

Andy
fuente
Redundante con varias respuestas anteriores. Parece estar aquí con la esperanza de obtener votos a favor inmerecidos. Debería eliminarse.
ToolmakerSteve
0

Este error se produjo cuando estaba importando un proyecto desde Github. Esto sucede porque el proyecto era de una versión anterior. Simplemente intente eliminar estos métodos a continuación de su gradle raíz.

android {compileSdkVersion 19 buildToolsVersion "19.1"}

vuelva a intentarlo.

Espero que funcione.

Prashant Choudhary
fuente