Metodo non supportato: AndroidProject.getPluginGeneration () durante l'esecuzione del progetto


105

Sto provando a eseguire il mio progetto con Android Studio 2.2 ma ottengo questo errore

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

Sto usando ButterKnife 8.4.0

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

Il mio file gradle del modulo:

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

Perché non funziona e come risolverlo?


@Tim Castelijns, cosa succede se applichi le soluzioni dalle risposte attuali?
azizbekian

@azizbekian com'è rilevante
Tim

Risposte:


281

Problema generale: -

Può verificarsi perché AS stava verificando la disponibilità della funzione Instant Run. Il problema è disabilitare Instant Run:

Windows e Linux:

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

Mac:

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

inserisci qui la descrizione dell'immagine

Grazie a @pophus per averlo menzionato.

Usa questa procedura Se stai usando un butterknife: -

Se stai usando il nuovo compilatore Jack con la versione 2.2.0 o successiva, non hai bisogno del plugin "android-apt" e puoi invece sostituire apt con annotationProcessor quando dichiari la dipendenza del compilatore.

Cioè, rimuovi

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

dal tuo file gradle principale

E rimuovi

apply plugin: 'android-apt'

dal file del modulo principale

e sostituire

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

con

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

Voglio amare la corsa istantanea ma rompe le cose in modi così strani che ne rende impossibile l'uso regolare senza un investimento di tempo abbastanza
Sirene

24

Ho riscontrato questo errore in Android Studio 2.2, nel mio caso è stato causato da AS verificando la disponibilità della funzione Instant Run. L'ho risolto disabilitando Instant Run:

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


Ha lavorato per il mio collega. Era in grado 1.2.3
gitter

1
Mi hai salvato la vita. Sto lavorando a un progetto vicino al rilascio e non voglio aggiornare Gradle per questo. Questa correzione / soluzione alternativa ha sicuramente aiutato.
Better Shao,

@pophus può verificarsi a causa di diversi motivi, forse la corsa istantanea è una, ho riscontrato questo problema con Butterknife
ColdFusion,

7

Cambia la versione gradle in 2.2

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

mi dispiace che sia stato un errore di battitura, sto utilizzando 2.2.0
ColdFusion

quindi prova eliminando la tua cartella .idea e riavvia il tuo ide. Dopo l'aggiornamento del progetto alla 2.2 ho anche riscontrato diversi problemi. Una soluzione che ho trovato è eliminare la cartella .idea. Ora funzionano tutti bene.
Sayem

6

Su Windows lo è

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

Deseleziona Enable Instant Run to hot swap code...


1
la tua risposta non aggiunge nulla di nuovo, è già stato affermato in altre risposte, puoi chiarire?
ColdFusion

1
Mi ci è voluto del tempo per trovare questa opzione su Windows, quindi questa volta ho voluto risparmiare per gli altri. Così semplice
Flot2011

2

basta chiudere la corsa istantanea

File Windows- Impostazioni- Build, Execution, Deployment - Instant Run.

MAC Android Studio -> Preferenze -> Build, Execution, Deployment -> Instant Run.


3
la tua risposta non aggiunge nulla di nuovo, è già stato affermato in altre risposte, puoi chiarire?
ColdFusion

2

Ho riscontrato lo stesso errore su un progetto molto vecchio. Poiché Android Studio 3.5 non ha più l'opzione Instant Run, ho richiesto una soluzione diversa.

Si è scoperto che dovevo cambiare manualmente la versione gradle nelle Impostazioni del progetto. Ho usato la versione che un nuovo progetto userebbe automaticamente, poiché i menu a discesa erano vuoti.

Nel mio caso, era la versione plug-in 3.5.1 e la versione Gradle 5.4.1.

Dopo di che ho avviato un progetto Build - Clean e tutto è andato bene.


1

Basta aggiornare la versione del plugin Gradle all'ultima versione:

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
    }

e assicurati che anche il tuo Gradle sia l'ultimo v:

#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

NOTA: utilizzare anche googlenel repository

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.