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?


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

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


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

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...


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.


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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.