Nicht unterstützte Methode: AndroidProject.getPluginGeneration () beim Ausführen des Projekts

105

Ich versuche, mein Projekt mit Android Studio 2.2 auszuführen, erhalte jedoch diesen Fehler

Unsupported method: AndroidProject.getPluginGeneration().
The version of Gradle you connect to does not support that method.

Ich benutze ButterKnife 8.4.0

Meine App gradle.file:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

Meine Modul-Gradle-Datei:

apply plugin: 'com.android.application'
apply plugin: 'android-apt'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "xxx.xx"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
}

dependencies {
    compile 'com.jakewharton:butterknife:8.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.4.0'
}

Warum funktioniert es nicht und wie löse ich es?

ColdFusion
quelle
@ Tim Castelijns, was passiert, wenn Sie Lösungen aus aktuellen Antworten anwenden?
Azizbekian
@ Azizbekian wie ist das relevant
Tim

Antworten:

281

Generelles Problem:-

Dies kann auftreten, weil AS die Verfügbarkeit der Sofortausführungsfunktion überprüft hat. Das Problem besteht darin, Instant Run zu deaktivieren:

Windows & Linux:

File -> Settings -> Build, Execution, Deployment -> Instant Run.

Mac:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run.

Geben Sie hier die Bildbeschreibung ein

Vielen Dank an @pophus für die Erwähnung.

Verwenden Sie diese Schritte Wenn Sie ein Buttermesser verwenden: -

Wenn Sie den neuen Jack-Compiler mit Version 2.2.0 oder neuer verwenden, benötigen Sie das Plugin 'android-apt' nicht und können apt stattdessen durch annotationProcessor ersetzen, wenn Sie die Compiler-Abhängigkeit deklarieren.

Das heißt, entfernen

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

aus Ihrer Haupt-Gradle-Datei

Und entfernen

apply plugin: 'android-apt'

aus Ihrer Hauptmoduldatei

und ersetzen

apt 'com.jakewharton:butterknife-compiler:8.4.0'

mit

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
ColdFusion
quelle
Ich möchte den Sofortlauf lieben, aber er bricht die Dinge auf so seltsame Weise, dass es unmöglich ist, ihn regelmäßig zu verwenden, ohne viel Zeit zu investieren
Sirenen
24

Ich habe diesen Fehler in Android Studio 2.2 festgestellt. In meinem Fall wurde er dadurch verursacht, dass AS die Verfügbarkeit der Sofortausführungsfunktion überprüft hat. Ich habe es behoben, indem ich Instant Run deaktiviert habe:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run

Pophus
quelle
Arbeitete für meinen Kollegen. Er war auf Gradle 1.2.3
Gitter
1
Du hast mein Leben gerettet. Ich arbeite an einem Projekt, das kurz vor der Veröffentlichung steht, und ich möchte gradle dafür nicht aktualisieren. Dieser Fix / Workaround hat definitiv geholfen.
Besser Shao
@pophus es kann aus verschiedenen Gründen auftreten, vielleicht ist sofortiger Lauf einer, ich bin auf dieses Problem mit Buttermesser gestoßen
ColdFusion
7

Ändern Sie die Gradle-Version in 2.2

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
}
Sayem
quelle
Entschuldigung, das war ein Tippfehler. Ich bin infact mit 2.2.0
ColdFusion
Versuchen Sie dann, Ihren .idea-Ordner zu löschen und Ihre Idee neu zu starten. Nach dem Projektupdate auf 2.2 hatte ich auch verschiedene Probleme. Eine Lösung, die ich gefunden habe, ist das Löschen des .idea-Ordners. Jetzt funktionieren alle gut.
Sayem
6

Unter Windows ist es

File / Settings/ Build, Execution, Deployment / Instant Run.

Deaktivieren Sie Enable Instant Run to hot swap code...

Flot2011
quelle
1
Ihre Antwort fügt nichts Neues hinzu. Sie wurde bereits in anderen Antworten angegeben. Können Sie das klarstellen?
ColdFusion
1
Ich habe einige Zeit gebraucht, um diese Option unter Windows zu finden, daher wollte ich diesmal für andere speichern. So einfach ist das
Flot2011
2

Schließen Sie einfach den Sofortlauf

Windows- Datei - Einstellungen - Erstellen, Ausführen, Bereitstellen - Sofortige Ausführung.

MAC Android Studio -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Sofortiges Ausführen.

Michael
quelle
3
Ihre Antwort fügt nichts Neues hinzu. Sie wurde bereits in anderen Antworten angegeben. Können Sie das klarstellen?
ColdFusion
2

Ich habe den gleichen Fehler bei einem sehr alten Projekt ausgeführt. Da Android Studio 3.5 nicht mehr über die Sofortausführungsoption verfügt, benötigte ich eine andere Lösung.

Es stellte sich heraus, dass ich die Gradle-Version in den Projekteinstellungen manuell ändern musste. Ich habe die Version verwendet, die ein neues Projekt automatisch verwenden würde, da die Dropdowns leer waren.

In meinem Fall war es Plugin Version 3.5.1 und Gradle Version 5.4.1.

Danach habe ich ein Build-Clean-Projekt gestartet und alles hat gut geklappt.

Gunnar Bernstein
quelle
1

Aktualisieren Sie einfach die Gradle-Plugin-Version auf die letzte Version:

dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'

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

und stellen Sie sicher, dass Ihr Gradle auch das letzte v ist:

#Sun Nov 03 16:47:32 IRST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

HINWEIS: Auch googleim Repository verwenden

Sana Ebadi
quelle