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.