Android Studio Gradle DSL-Methode nicht gefunden: 'android ()' - Fehler (17,0)

82

Ich versuche, mein Projekt in Android Studio auszuführen, aber der Fehler wird unten angezeigt:

Geben Sie hier die Bildbeschreibung ein

Ich habe viele Quellen befolgt, um dies zum Laufen zu bringen, und bin hier gelandet, weiß aber nicht, was ich sonst tun soll.

Wie kann ich dieses Projekt für die Ausführung konfigurieren?

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'

local.properties:

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
quelle
1
Ich vermute, Sie haben gerade mit diesem Projekt begonnen. Warum nicht Datei -> Neues Projekt und lassen Sie es Gradle für Sie einrichten. Aktualisieren Sie außerdem Ihr Gradle-Plugin auf 1.0.
Jared Burrows
Dies ist ein Projekt aus einer Online-Quelle, ich habe es importiert
Sauron
Bitte sehen Sie meine Antwort. Sie müssen lediglich das Projekt aktualisieren.
Jared Burrows

Antworten:

56

Ich habe das Projekt über den von Ihnen angegebenen Link heruntergeladen: http://javapapers.com/android/android-chat-bubble/

Da dies ein altes Tutorial ist, müssen Sie lediglich die Software, Gradle, die Android Build Tools und das Plugin aktualisieren.

Stellen Sie sicher, dass Sie über die neuesten Versionen von Gradle und Android Studio verfügen:

build.gradle:

buildscript {
    repositories {
        jcenter()
    }

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

allprojects {
    repositories {
        jcenter()
    }
}

app / 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'
}

Dann laufen gradle:

gradle installDebug
Jared Burrows
quelle
Zunächst einmal vielen Dank für den zusätzlichen Aufwand! Aber als ich das Projekt heruntergeladen und importiert habe, gab es nur eine build.gradle-Datei. Wie bist du zu zwei gekommen, der App und dem Projekt?
Sauron
Ich habe die Zip-Datei heruntergeladen und die Dateien über die Befehlszeile durchgesehen. Außerdem gibt es normalerweise ein top build.gradle und ein project build.gradle. Wählen Sie beim Importieren Ihres Projekts in Intellij / Android Studio das oberste build.gradle aus. Es gibt ein Top-Build.gradle und ein weiteres im App-Ordner.
Jared Burrows
@ Sauron Funktioniert alles für Sie? Sie müssen meine aktualisierten build.gradles verwenden, damit sie ausgeführt werden können. Lassen Sie mich auch wissen, wenn Sie weitere Hilfe benötigen!
Jared Burrows
@JaredBurrows Können Sie auch bei stackoverflow.com/questions/30958596/… helfen ? Das ist eine ähnliche Frage. Es fällt mir schwer, den Gradle zu aktualisieren.
committedandroider
1
Ich wollte nur einen Kommentar hinzufügen, dass dies auch für alle funktioniert, die versuchen, das leere neue Parse.com Android QuickStart-Projekt einzurichten, das das gleiche Problem hat, wenn Sie es herunterladen und installieren :)
Max
46

In Ihrer obersten Ebene build.gradlescheinen Sie den Code zu haben

android {
   compileSdkVersion 19
   buildToolsVersion "19.1" 
}

Sie können diesen Code nicht auf der obersten Ebene haben, build.gradleda das Android Build Plugin noch nicht geladen ist. Sie können die Kompilierungsversion und die Build-Tool-Version auf App-Ebene definieren build.gradle.

iTapAndroid
quelle
3
Wonderful Android Studio 2.2 Preview setzt dies zufällig in der obersten Ebene build.gradle
Kevin
27

Aus einem unbekannten Grund fügt Android Studio die android () -Methode fälschlicherweise in die Datei build.gradle der obersten Ebene ein.

Löschen Sie einfach die Methode und es funktioniert für mich.

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'
}
Rahul Kumar
quelle
3
Immer noch ein Problem im Jahr 2016 - und immer noch durch Auskommentieren des Abschnitts gelöst.
BurninLeo
1
Dieser Code wurde von AS generiert. Das Entfernen löste das isseu. Vielen Dank!
Tom Bevelander
14

Ich habe versucht, dieses Problem mithilfe der folgenden Schritte zu beheben:

Löschen android { ... }Block in Top - Level - root gradle Datei

Einblick in

 compileSdkVersion 22
 buildToolsVersion "22.0.0"

Codezeilen in der App / Gradle-Datei Hier sollte nur eine der Versionen vorhanden sein, die in der folgenden Dropdown-Liste enthalten sind. Andernfalls besteht die Möglichkeit, diese herunterzuladen.

Geben Sie hier die Bildbeschreibung ein

KOTIOS
quelle
Ich habe auf Android 5.0 migriert, daher ist dies kein Problem mehr.
Sauron
10

Ich habe den gleichen Fehler erhalten, als ich versucht habe, ein Eclipse NDK-Projekt in Android Studio zu importieren. Es stellt sich heraus, dass Sie für die NDK-Unterstützung in Android Studio ein neues Gradle- und Android-Plugin (und die Gradle-Version 2.5+) verwenden müssen. Dieses Plugin erfordert Änderungen in der build.gradle-Datei des Moduls. Insbesondere sollte sich das Objekt " android {...}" innerhalb des Objekts " model {...}" wie folgt befinden:

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

Wenn Sie also Ihre Gradle-Konfiguration aktualisiert haben, um das neue Gradle-Plugin und das neue Android-Plugin zu verwenden, aber die build.gradle-Syntax des Moduls nicht geändert haben, wird möglicherweise der Fehler "Gradle DSL-Methode nicht gefunden: 'android ()'" angezeigt .

Ich habe hier eine Patch-Datei vorbereitet, die einige weitere Erklärungen in den Kommentaren enthält: https://gist.github.com/shumoapp/91d815de6e01f5921d1f Dies sind die Änderungen, die ich nach dem Import des Native-Audio-ndk-Projekts in Android Studio vornehmen musste.

Shumoapp
quelle
Vielen Dank! Es funktionierte an einem sauberen Cocos2d Android-Projekt
Jacek Pietal
1

Das Korrigieren der Gradle-Einstellungen ist ziemlich schwierig. Wenn Sie nicht viel über Gradle wissen, müssen Sie viel lernen. Stattdessen können Sie Folgendes tun:

1) Starten Sie ein neues Projekt in einem neuen Ordner. Wählen Sie die gleichen Einstellungen für Ihr Projekt mit Gradle-Problem, aber halten Sie es einfach: Wählen Sie eine leere Hauptaktivität. 2) Löschen Sie alle Dateien im Ordner ... \ NewProjectName \ app \ src \ main. 3) Kopieren Sie alle Dateien im Ordner ... \ ProjectWithGradleProblem \ app \ src \ main nach ... \ NewProjectName \ app \ src \ main Ordner. 4) Wenn Sie das Testprojekt (\ ProjectWithGradleProblem \ app \ src \ AndroidTest) verwenden, können Sie dies auch dafür tun.

Diese Methode funktioniert einwandfrei, wenn Ihre Gradle-Installation fehlerfrei ist. Wenn Sie gerade Android Studio installiert und nicht geändert haben, sollte die Gradle-Installation in Ordnung sein.

Reisender
quelle
1

Eigentlich habe ich viele Kombinationen ausprobiert, nichts hat funktioniert

aber als ich meine Anwendungsgradle-Datei mit folgendem geändert habe

 buildTypes {
        release {
            minifyEnabled false
        }
    }

Durch Entfernen der Linie

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

es hat normal funktioniert :)) Prost

Bhushan Shirsath
quelle
1

Eine andere Lösung, wenn Sie android-studio-bundle-143.2915827-windows und gradle2.14 installiert haben

Sie können unter C: \ Programme \ Android \ Android Studio \ gradle überprüfen, ob Sie gradle-2.14 haben.

Dann müssen Sie zu C: \ Users \\ AndroidStudioProjects \ android_app \ gehen

Und in dieses build.gradle geben Sie diesen Code ein:

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

Wechseln Sie dann zu C: \ Users \ Raul \ AndroidStudioProjects \ android_app \ Desnutricion_infantil \ app

Und in dieses build.gradle setzen Sie:

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'
}

Sie müssen Ihre SDK-Version und die buildTools überprüfen. compileSdkVersion 23 buildToolsVersion '24 .0.0 '

Speichern Sie alle Änderungen und starten Sie AndroidStudio neu. Alles sollte in Ordnung sein!

Raúl EL
quelle
IMHO, Travellers frühere Antwort, die die Erstellung eines neuen Projekts vorschlägt, um herauszufinden, welche Einstellungen verwendet werden sollen, ist a) einfacher durchzuführen, b) wird in zukünftigen Versionen von Android weiter funktionieren, wenn sich die "besten" Einstellungen möglicherweise geändert haben .
ToolmakerSteve
0

Löschen Sie diese Zeilen einfach aus dem Stammverzeichnis build.gradle

android {
compileSdkVersion 19
buildToolsVersion '19.1' }

Versuchen Sie es jetzt erneut. Es sollte funktionieren.

k9x
quelle
0

Wechseln Sie zur Root-Datei build.gradle

zu

// 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
quelle
0

Für mich hat es funktioniert, das Projekt mit "Datei -> Neu -> Projekt aus Versionskontrolle" zu importieren und dann Ihre Online-Quelle auszuwählen (z. B. GitHub). Auf diese Weise wurden alle .gradle-Dateien beim Import erstellt.

martin36
quelle
0

Ich stoße auch auf diese Probleme und lösche einfach den unteren Code:

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

es funktionierte.

Andy
quelle
Redundant mit mehreren vorherigen Antworten. Scheint hier zu sein in der Hoffnung, unverdiente Gegenstimmen zu bekommen. Sollte gelöscht werden.
ToolmakerSteve
0

Dieser Fehler ist aufgetreten, als ich ein Projekt aus Github importiert habe. Dies geschieht, da das Projekt eine ältere Version hatte. Versuchen Sie einfach, diese Methoden unten aus Ihrem Root-Gradle zu löschen.

android {compileSdkVersion 19 buildToolsVersion "19.1"}

dann versuchen Sie es erneut.

Ich hoffe, es funktioniert.

Prashant Choudhary
quelle