Android Gradle errore di generazione : ( 9, 0 ) il metodo DSL Gradle non trovato : ' compila ( ) ' .

? BigBoy1337 @ | Original: StackOverFlow
---

Sto ottenendo il seguente errore di generazione quando cerco di sincronizzare il mio progetto :

Error:(9, 0) Gradle DSL method not found: 'compile()'
Possible causes:The project 'AlexTest' may be using a version of Gradle that does not contain the method.
The build file may be missing a Gradle plugin.
link: Apply Gradle plugin

Ho cercato di applicare ogni singolo plug Gradle mi si collegano al suddetto collegamento sul fondo, ma lo stesso problema, in modo da concludere che il primo errore è la causa .

Ecco il file build.gradle per AlexTest ( la directory del progetto ) :

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

allprojects {
    repositories {
        jcenter()
    }
}

Credo che sia stato il file Gradle che stava avendo problemi con . Ma io non sono sicuro di quello che il metodo si riferisce .

Anche qui è il gradle-wrapper.properties che si riferiva anche a :

#Mon Nov 10 01:06:12 PST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-2.1-all.zip

forse la versione Gradle nella distributionUrl deve corrispondere a quella della dipendenza ?

Ho anche un file build.gradle nella directory applicazione stessa - 1 livello inferiore, anche se non penso che è quello che si riferiva, ma qui è :

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "21.1.1"

    defaultConfig {
        applicationId "com.snappiesticker.alextest"
        minSdkVersion 16
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:6.1.+'
}
---

Top 5 Risposta

1CommonsWare @

Ho cercato di applicare ogni singolo plug Gradle mi si collegano al suddetto collegamento sul fondo, ma lo stesso problema, in modo da concludere che il primo errore è la causa .

Correct.

Ecco il file build.gradle per AlexTest ( la directory del progetto ) :

Si noterà che il file contiene un commento di codice :

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

Non hai seguite queste istruzioni .

Rimuovere la riga compile 'com.google.android.gms:play-services:6.1.11' da quel file . Lasciare il compile 'com.google.android.gms:play-services:6.1.+' che hai in altri file build.gradle .

La chiusura dependencies in buildscript è per Gradle plugin solo . Il top-level dependencies chiusura, che si trova nel file build.gradle del modulo, è per le dipendenze delle applicazioni .