webentwicklung-frage-antwort-db.com.de

Android Gradle Build Fehler: (9, 0) DSL-Methode von Gradle nicht gefunden: 'compile ()'.

Ich erhalte den folgenden Buildfehler, wenn ich mein Projekt versuche und synchronisiere: 

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

Ich habe versucht, jedes einzelne Gradle-Plugin anzuwenden, mit dem sie in diesem Link unten verbunden sind, aber das gleiche Problem. Ich schließe daraus, dass der erste Fehler die Ursache ist. 

Hier ist die build.gradle-Datei für AlexTest (das Projektverzeichnis):

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()
    }
}

Ich glaube, das war die Gradle-Datei, mit der es Probleme hatte. Ich bin mir jedoch nicht sicher, auf welche Methode es sich bezieht. 

Auch hier ist die gradle-wrapper.properties, auf die auch verwiesen wurde:

#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

vielleicht muss die Gradle-Version in der distributionUrl mit der in der Abhängigkeit übereinstimmen?

Ich habe auch eine build.gradle -Datei im App-Verzeichnis selbst - eine Stufe tiefer, obwohl ich nicht glaube, dass es sich auf sie bezieht, aber hier ist es: 

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.+'
}
57
BigBoy1337

Ich habe versucht, jedes einzelne Gradle-Plugin anzuwenden, mit dem sie in diesem Link unten verbunden sind, aber das gleiche Problem. Ich schließe daraus, dass der erste Fehler die Ursache ist. 

Richtig.

Hier ist die build.gradle-Datei für AlexTest (das Projektverzeichnis):

Sie werden feststellen, dass diese Datei einen Code-Kommentar enthält:

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

Entfernen Sie die compile 'com.google.Android.gms:play-services:6.1.11'-Zeile aus dieser Datei. Belassen Sie den compile 'com.google.Android.gms:play-services:6.1.+', den Sie in der anderen build.gradle-Datei haben.

Die dependencies-Schließung in buildscript gilt nur für Gradle-Plugins. Der dependencies-Abschluss der obersten Ebene in der build.gradle-Datei des Moduls ist für Anwendungsabhängigkeiten bestimmt.

78
CommonsWare

Saw berichtet, dass das Problem aus anderen Gründen aufgetreten ist, was aber für mich gelöst wurde.

Wenn Sie Änderungen an der Projektstruktur (Android Studio) vornehmen und auf OK klicken, wird Gradle synchronisiert. Diese Art der Synchronisierung ist jedoch möglich, wenn der Abhängigkeitsblock Folgendes aufweist:

Dieser Block bleibt nach der Synchronisation so:

Eine Möglichkeit, das Problem zu lösen, besteht darin, einen Zeilenumbruch einzufügen, um so zu bleiben, wie er vor der Synchronisation war, oder ein Semikolon zwischen den beiden Anweisungen zu setzen.

Ich hoffe, es hilft.

12

Fügen Sie einfach eine Foolwoing-Anweisung in Ihre Abhängigkeiten ein

plugin anwenden: 'Jetty'

3
androidwifi

Deklarieren Sie Abhängigkeiten in der Datei build.gradle von Module, nicht in der Datei build.gradle von AlexTest

 enter image description here

1

Hallo an alle für mich, es war ein "arbeitsaufwändiger Job", um meine App in Android Studio laufen zu lassen ( ich bin von Eclipse gewandert und hatte dieses Problem auch ). Endlich fand ich diesen sehr einfachen Weg.

  1. Erstellen Sie den libs-Ordner unter src/main/Java/es befindet sich App/Java/libs im linken Bereich.
  2. Kopieren Sie alle Ihre externen Gläser und fügen Sie sie hier ein. 
  3. Gehen Sie in den linken Bereich und klicken Sie mit der rechten Maustaste auf Ihre App. Klicken Sie dann auf Moduleinstellungen öffnen
  4. Das Fenster Projektstruktur wird angezeigt.
  5. Wechseln Sie dann zur Registerkarte Abhängigkeiten. Abschließender Schritt: Fügen Sie alle Ihre in App/Java/libs (in src/main/Java/libs) enthaltenen JARs nacheinander hinzu.

Das ist alles Genieße es.

1
katmanco