Método não compatível: AndroidProject.getPluginGeneration () durante a execução do projeto

105

Estou tentando executar meu projeto com o Android Studio 2.2, mas recebo este erro

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

Estou usando ButterKnife 8.4.0

Meu aplicativo gradle.file:

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

Meu arquivo gradle do módulo:

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

Por que não funciona e como resolvo?

Fusão a frio
fonte
@Tim Castelijns, o que acontece se você aplicar as soluções das respostas atuais?
azizbekian
@azizbekian como isso é relevante
Tim,

Respostas:

281

Problema Geral: -

Isso pode ocorrer porque o AS estava verificando a disponibilidade do recurso Instant Run. O consertado é desativar o Instant Run:

Windows e Linux:

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

Mac:

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

insira a descrição da imagem aqui

Obrigado a @pophus por mencionar isso.

Use estas etapas se você estiver usando uma faca de manteiga: -

Se você está usando o novo compilador Jack com a versão 2.2.0 ou mais recente, você não precisa do plugin 'android-apt' e pode substituir o apt por annotationProcessor ao declarar a dependência do compilador.

Ou seja, remova

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

do seu arquivo principal do Gradle

E remover

apply plugin: 'android-apt'

do seu arquivo de módulo principal

e substituir

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

com

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
Fusão a frio
fonte
Eu quero adorar a corrida instantânea, mas ela quebra as coisas de maneiras tão estranhas que torna impossível usá-la regularmente sem um grande investimento de tempo
Sirenes de
24

Encontrei esse erro no Android Studio 2.2, no meu caso foi causado pela disponibilidade de verificação do AS do recurso Instant Run. Consertei desativando o Instant Run:

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

pophus
fonte
Trabalhou para meu colega. Ele estava no gradle 1.2.3
gitter
1
Você salvou minha vida. Estou trabalhando em um projeto próximo ao lançamento e não quero atualizar o Gradle para ele. Essa correção / solução alternativa definitivamente ajudou.
Melhor Shao
@pophus pode ocorrer devido a outro motivo, talvez a execução instantânea seja um deles, encontrei este problema com butterknife
ColdFusion
7

Alterar a versão do gradle para 2.2

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
}
Sayem
fonte
desculpe, foi um erro de digitação, estou de fato usando 2.2.0
ColdFusion de
em seguida, tente deletar sua pasta .idea e reinicie seu ide. Após a atualização do projeto para 2.2, também enfrentei vários problemas. Uma solução que encontrei é excluir a pasta .idea. Agora tudo está funcionando bem.
Sayem
6

No Windows é

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

Desmarque Enable Instant Run to hot swap code...

Flot2011
fonte
1
sua resposta não acrescenta nada de novo, já foi dito em outras respostas, você pode esclarecer?
ColdFusion
1
Levei algum tempo para encontrar essa opção no Windows, então, desta vez, queria salvar para outras. Tão simples quanto isso
Flot2011
2

apenas feche a corrida instantânea

Arquivo do Windows -Settings- Build, Execution, Deployment - Instant Run.

MAC Android Studio -> Preferências -> Compilação, Execução, Implementação -> Execução Instantânea.

Michael
fonte
3
sua resposta não acrescenta nada de novo, já foi dito em outras respostas, você pode esclarecer?
ColdFusion
2

Corri o mesmo erro em um projeto muito antigo. Como o Android Studio 3.5 não tem mais a opção Instant Run, solicitei uma solução diferente.

Acontece que eu tive que alterar a versão do gradle manualmente nas configurações do projeto. Usei a versão que um Novo Projeto usaria automaticamente, já que os menus suspensos estavam vazios.

No meu caso, foi o Plugin versão 3.5.1 e o Gradle versão 5.4.1.

Depois disso, comecei um Build-Clean Project e tudo deu certo.

Gunnar Bernstein
fonte
1

Basta atualizar a versão do plug-in Gradle para a última versão:

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 certifique-se de que seu Gradle seja o último v também:

#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: use googleno repositório também

sana ebadi
fonte