No se encontró el método DSL de Gradle: 'compile ()'

78

Tuve este error de Gradle.

Error: (9, 0) Método DSL de Gradle no encontrado: 'compile ()'

Intenté hacer referencia a preguntas similares pero no funcionó.

Error de compilación de Android gradle: (9, 0) Método DSL de Gradle no encontrado: 'compile ()'.

Obteniendo el error "No se encontró el método DSL de Gradle: 'compile ()'" al sincronizar Build.Gradle

Se encontró un método DSL de Gradle no compatible: 'compile ()'!

Mi build.gradlecodigo esta aqui

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
        compile 'com.android.support:appcompat-v7:20.+'
        compile 'com.google.android.gms:play-services:6.5.+'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

build.gradle(Module.app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    defaultConfig {
        applicationId "com.example.simplemaker.pushtest"
        minSdkVersion 9
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

¿Qué pasa con mi código?

Lo siento por mi ingles.

¡Muchas gracias!

T.Akashi
fuente
Se encontró un
naXa

Respuestas:

111

Como build.gradlesugiere la nota del archivo de su proyecto :

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

Elimine las 2 declaraciones de compilación en ese archivo gradle:

compile 'com.android.support:appcompat-v7:20.+'
compile 'com.google.android.gms:play-services:6.5.+'

Y luego haga que sus otras build.gradledependencias (del módulo) se vean así:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services:6.5.+'
}
Simas
fuente
¿Qué pasa si mi proyecto de Android no tiene módulos?
arun8
Estoy usando com.android.support:support-compat:23.0.0 bt era com.android.support:support-v4:23.0.0
10101010
36

Estoy usando Android Studio basado en IntelliJ Idea y he cambiado la Configuración sobre cuándo y cómo ajustar el código. También tenía opciones de 'reformatear automáticamente' que conducen a formatear archivos Gradle al azar. Entonces conduce a algo como esto:

    compile 'de.greenrobot:eventbus:2.4.0' compile 'com.jakewharton:butterknife:7.0.1'

Gradle luego no puede encontrar compile () para la segunda compilación. Como solo permitiste escribir una dependencia por línea.

Bato-Bair Tsyrenov
fuente
Esta es otra posibilidad de por qué puede ocurrir este error @Drew
Bato-Bair Tsyrenov
Ok, parece una pregunta. No quería que lo borraran
Drew
1
Gracias, descubrí que IDEA realmente reformateó mi archivo Gradle e hizo dos líneas en una. Tu respuesta funciona para mí.
speedcell4
Algunos detalles adicionales serían útiles aquí
Chris Nevill
@ChrisNevill ¿qué quieres decir?
Bato-Bair Tsyrenov
31

Es un problema realmente tonto y tengo una solución:

como las declaraciones de compilación van en una línea

compile "com.squareup.okhttp3:okhttp:$okHttpVersion"    compile "com.squareup.okhttp3:okhttp-urlconnection:$okHttpVersion"    compile "com.squareup.okhttp3:logging-interceptor:$okHttpVersion"    compile "com.google.code.gson:gson:$gsonVersion"

Acabo de cambiar a continuación por la siguiente línea y resolví mi problema:

compile "com.squareup.okhttp3:okhttp:$okHttpVersion"
compile "com.squareup.okhttp3:okhttp-urlconnection:$okHttpVersion"
compile "com.squareup.okhttp3:logging-interceptor:$okHttpVersion"
compile "com.google.code.gson:gson:$gsonVersion"

Espero que te ayude. Gracias.

Pratik Butani
fuente
Exactamente esto ... por alguna razón, algo había sacado mis declaraciones de compilación en una línea
Chris Nevill
He tenido cierto éxito al cambiar el "a"
Chris Nevill
Cuando estaba usando una cadena, tuve cierto éxito al hacerlo: compile myString + '' (son dos comas vacías)
Chris Nevill
¡Estaba enfrentando el mismo problema y esta es la solución!
dmSherazi
8

Verifique sus archivos build.gradle , a veces cuando agrega un módulo a su módulo actual usando la configuración del proyecto, el build.gradle del módulo actual está dañado y las sangrías están rotas, solo verifique el build.gradle actual y verifique si todas las declaraciones de compilación se emiten en una nueva línea!

MohammadReza
fuente
Esto es exactamente lo que sucedió cuando actualicé la configuración de "firma" en Configuración del módulo.
Wahib Ul Haq
7

además de las respuestas adecuadas ya dadas anteriormente, una imagen para una explicación más detallada:

ingrese la descripción de la imagen aquí

El proyecto tiene 2 build.gradle. Necesita el resaltado: build.gradle (Módulo: aplicación)

Alexeev Valeriy
fuente
2

Revisa tu proyecto. hay 2 build.gradle.

Mueva su línea de compilación a otra build.gradle

Lobo gris
fuente
0

Las dependencias de la aplicación deben incluir en la aplicación -> archivo build.gradle . No en Proyecto -> archivo build.gradle.

Tharanga
fuente
0

Un simple error también puede causar este problema, no incluya classpathdependencias parabuild.gradle(Module:app)

Ege Kuzubasioglu
fuente
0

En mi caso, recibí este error porque tenía una línea de implementación de dependencia fuera del dependenciesbloque. Algo como esto:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    ...
  }

implementation 'androidx.media:media:1.1.0'

Tenga en cuenta que todas las llamadas de implementación deben definirse dentro del bloque de dependencias. Esa es la solución simple.

Espero que esto ayude a alguien.

¡Feliz codificación!

Taslim Oseni
fuente