Gradle gibt einen Fehler aus "Plugin vom Typ 'AppPlugin' konnte nicht erstellt werden"


77

Ich versuche ein einfaches Android-Projekt mit Gradle zu erstellen. Ich arbeite in einem Computer mit Debian GNU / Linux 7 'wheezy'.

Ich habe die Empfehlungen im Gradle Plugin Benutzerhandbuch - Android Tools Project Site befolgt , aber es wird ein Fehler ausgegeben:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/alex/Proyectos/MyLogin/build.gradle' line: 11

* What went wrong:
A problem occurred evaluating root project 'MyLogin'.
> Could not create plugin of type 'AppPlugin'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.817 secs

Ich habe die Spezifikationen befolgt:

  • Gradle 1.9
  • Plugin 0.7
  • SDK 17+ (tatsächlich 19)

Ich habe auch ein neues Projekt gestartet, und die Ergebnisse, die ich gezeigt habe, wurden vom Befehl ausgegeben, gradle taskswie in der Dokumentation gezeigt.

Ich habe auch Gradle 1.10 ausprobiert, aber das Ergebnis ist das gleiche.

Auch diese Frage war nicht nützlich, da sie mit 'Upgrade' auf Gradle 1.6 gelöst wurde (ich verstehe, dass Plugin 0.7 mindestens Gradle 1.9 erfordert).

Ich habe dies versucht, nachdem ich mit dem gleichen Fehler in Android-Studio und IntelliJ Idea gescheitert war .

EDIT: Ich habe es auch mit neuen Projekten in beiden IDEs versucht und habe das gleiche Problem bekommen. Was mich jedoch am meisten überrascht, ist, dass beide IDEs Gradle 1.8 in ihrer verpackten Form verwenden. Ich habe versucht, beide zu infizieren, um meine lokale Gradle-Installation zu verwenden, aber immer noch das gleiche Problem.

Was mache ich falsch? Ist es ein Fehler? Wie kann ich das Problem vermeiden?

Bitte hilf mir.

EDIT: Hier ist meinebuild.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 14
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }
}

sourceCompatibility = 1.6

version = '0.1'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    //compile project(':core')
}

Können Sie zeigen, wie Ihr "build.gradle" aussieht?
Akhikhl

Entschuldigen Sie die Veröffentlichung so wichtiger Daten. Hier ist die build.gradle.
aBarocio80

3
Ich habe dieses "build.gradle" ausprobiert - der Fehler erscheint unter Gradle 1.10 und wurde durch Downgrade auf 1.9 behoben.
Akhikhl

Antworten:


27

Google hat einen Fehler mit Version 0.7.2 des Gradle-Plugins gemacht :

Hinweis: 0.7.2 erfordert Java7. Das ist ein Fehler. Verwenden Sie stattdessen 0.7.3.

Release 0.7.3 aktiviert die Java6-Unterstützung wieder. Das Deklarieren von Gradle 0.7.3 in meinen Build-Dateien löst dies tatsächlich für mich.

Niemand ist perfekt :)

http://tools.android.com/tech-docs/new-build-system


3
Vielen Dank. Ich denke, es wurde mit der Veröffentlichung von 0.7.3 behoben. Ich habe es mit "0.7. +" Konfiguriert.
aBarocio80

Ich bin froh, dass es für dich behoben ist. Ich habe aufgehört, den Ausdruck "0.7. +" Zu verwenden, weil 0.6, 0.7.1 und 0.7.2 mir Probleme verursacht haben. Ich behebe jetzt eine Veröffentlichung - zB "0.7.3".
SK9

1
Doh! Danke, verdammt, ich bin ein Arsch.
Codeversed

22

Hätte genauer lesen sollen, ich sehe, du hast es bereits mit 1.9 versucht.
Vasile Jureschi

Genau das, wonach ich gesucht habe. Diese Antwort sollte "akzeptiert" werden
Vladimir

IN ORDNUNG. Es löst das Problem. Es scheint, dass ich die Version in meiner Umgebungsvariablen PATH falsch platziert habe. Vielen Dank.
aBarocio80

Zum späteren Nachschlagen würde / sollte der Wechsel zu einer neueren Version von gradle dies ebenfalls beheben.
CasualT

19

Ich habe es mit Gradle 1.10 mit dem Gradle Plugin 0.8.0 zum Laufen gebracht.

// /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.8.+'
    }
}

...

# /gradle/wrapper/gradle-wrapper.properties.
#Sat Feb 01 20:41:29 CET 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-bin.zip

3
Wäre es nicht besser, gradle: 0.8. + Anstelle von gradle: 0.8.0 zu setzen? Auf diese Weise wissen Sie, dass Sie das neueste Gradle-Plugin verwenden.
IgorGanapolsky

2
@IgorGanapolsy Nicht unbedingt am besten. Wenn Sie zum Beispiel zu dem Zeitpunkt Gradle: 0.7. + Durchgeführt haben, haben Sie möglicherweise Probleme, die jetzt bekannt sind. Das Neueste ist nicht immer das Beste.
SK9

7

Wenn Sie die Befehlszeile verwenden, um das Projekt wie folgt zu erstellen:

android create project -g -v 1.2.2 --target 1 --name rtest --path rtest --activity MainActivity --package com.mydomain.rtest

Das Projekt wurde für die Verwendung von Version 1.2.2 des Android-Gradle-Plugins erstellt, das Projekt wird jedoch mit Gradle 1.12 initialisiert, das nicht kompatibel ist .

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Öffnen Sie die gewünschte Version rtest/gradle/wrapper/gradle-wrapper.propertiesund stellen distributionUrlSie sie ein. zum Beispiel: http\://services.gradle.org/distributions/gradle-2.2.1-all.zip(vergiss nicht, dem Doppelpunkt zu entkommen - ja, das bringt mich auch zum Lächeln);
  2. Öffnen build.gradleund ändern runProguard falsezu minifyEnabled false;
  3. ./gradlew clean && ./gradlew assembleDebug
  4. Ich entferne auch den versteckten .gradleOrdner, bin mir aber nicht sicher, ob es notwendig ist

Und alles funktioniert wieder.


Vielen Dank! Dies ist die Lösung, die für mich mit den neuesten Tools funktioniert. (Stand Juli 2015)
Alvi

Vielen Dank! Google trinkt so schamlos die Kool-Hilfe von Idea, dass ihre Kommandozeilen-Tools in einem traurigen Zustand sind ...
Rick77

1

Wenn Sie versuchen, Ihr Gradle 1.9-Projekt mit auf Gradle 1.10 zu aktualisieren

task wrapper(type: Wrapper) {
    gradleVersion = '1.10'
}

und Befehl erhalten ./gradlew wrapperSie den gleichen Fehler wie oben.

Die Lösung besteht darin, Gradle 1.10 auf Ihrem Computer zu installieren und Ihr Projekt ohne Verwendung des Wrappers zu aktualisieren

gradle wrapper


Gibt es eine Möglichkeit, Gradle Wrapper 1.10 herunterzuladen und in Android Studio zu integrieren?
IgorGanapolsky

Sie müssen es in einem Datei-Explorer tun und ASide
Blundell

1

Sie können diesen Fehler auch erhalten, wenn Sie Ihr System gradle aktualisieren und vergessen, das Android Studio gradle home zu aktualisieren.


1

Ersetzen Sie für diejenigen, die die Version 2.1 von Studio verwenden, den Klassenpfad 'com.android.tools.build:gradle:2.1.0-rc1' durch den Klassenpfad 'com.android.tools.build:gradle:2.1.0'. Dies löste mein Problem.


0

Ich habe das heute beim Ausführen von gradle assembleRelease bekommen. Ich hatte die Ubuntu-Standardeinstellung von gradle-1.4 installiert. Das hat nicht funktioniert, also habe ich den neuesten Gradle-1.12 ausprobiert und das gleiche Problem bekommen.

Das Herunterladen und Verwenden von gradle-1.10 (und das Anpassen meiner Datei gradle-wrapper.properties an diese Version) hat das Problem behoben.

Dies ist mit Android Studio 0.5.8.


Irgendeine Erklärung der -1? Ich habe damals eine funktionierende Lösung geteilt.
Splaktar

0

Gehen Sie zu Abhängigkeiten und ändern Sie einfach den Klassenpfad für Abhängigkeiten in Klassenpfad 'com.android.tools.build:gradle:2.0.0-beta6'. Rest Gradle wird sich darum kümmern. Viel Spaß beim Codieren :)


0

Ok, ich denke, Android Studio hat eine Antwort darauf, um diesen Fehler über die GUI zu beheben.

Ich hatte diesen Fehler so ... Geben Sie hier die Bildbeschreibung ein

Nach dem Aktualisieren der Plugins hatte ich beim Erstellen andere Probleme.

Geben Sie hier die Bildbeschreibung ein

ändert also die gradle settingStandardeinstellung wie im Bild gezeigt, Geben Sie hier die Bildbeschreibung ein

Nach diesem Build war erfolgreich.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.