Método no admitido: AndroidProject.getPluginGeneration () mientras se ejecuta el proyecto

105

Estoy intentando ejecutar mi proyecto con Android Studio 2.2 pero aparece este error

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

Estoy usando ButterKnife 8.4.0

Mi aplicación gradle.file:

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

Mi archivo de módulo gradle:

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 qué no funciona y cómo lo soluciono?

Fusión fría
fuente
@Tim Castelijns, ¿qué sucede si aplica soluciones de las respuestas actuales?
azizbekian
@azizbekian ¿cómo es eso relevante?
Tim

Respuestas:

281

Problema general:-

Puede ocurrir porque AS estaba verificando la disponibilidad de la función Instant Run. Lo fijo es deshabilitar Instant Run:

Windows y Linux:

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

Mac:

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

ingrese la descripción de la imagen aquí

Gracias a @pophus por mencionar esto.

Siga estos pasos si está utilizando un cuchillo de mantequilla: -

Si está utilizando el nuevo compilador Jack con la versión 2.2.0 o más reciente, no necesita el complemento 'android-apt' y, en su lugar, puede reemplazar apt con annotationProcessor al declarar la dependencia del compilador.

Es decir, quitar

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

desde tu archivo principal de Gradle

Y quitar

apply plugin: 'android-apt'

desde su archivo de módulo principal

y reemplazar

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

con

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
Fusión fría
fuente
Quiero amar la ejecución instantánea, pero rompe las cosas de formas tan extrañas que hace que sea imposible de usar regularmente sin una gran inversión de tiempo
Sirens
24

Encontré este error en Android Studio 2.2, en mi caso fue causado por AS verificando la disponibilidad de la función Instant Run. Lo arreglé desactivando Instant Run:

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

pophus
fuente
Trabajó para mi colega. Estaba en gradle 1.2.3
gitter
1
Me salvaste la vida. Estoy trabajando en un proyecto a punto de lanzarse y no quiero actualizar Gradle para ello. Esta solución / solución definitivamente ayudó.
Better Shao
@pophus puede ocurrir debido a diferentes razones, tal vez la ejecución instantánea sea una, encontré este problema con el cuchillo de mantequilla
ColdFusion
7

Cambiar la versión de gradle a 2.2

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
}
Sayem
fuente
lo siento, fue un error tipográfico, de hecho estoy usando 2.2.0
ColdFusion
luego intente eliminando su carpeta .idea y reinicie su ide. Después de la actualización del proyecto a 2.2 también enfrenté diferentes problemas. Una solución que encontré es eliminar la carpeta .idea. Ahora todos funcionan bien.
Sayem
6

En Windows es

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

Desmarcar Enable Instant Run to hot swap code...

Flot2011
fuente
1
tu respuesta no agrega nada nuevo, ya se ha dicho en otras respuestas, ¿puedes aclarar?
ColdFusion
1
Me tomó un tiempo encontrar esta opción en Windows, así que esta vez quería guardar para otros. Tan simple como eso
Flot2011
2

solo cierra la ejecución instantánea

Archivo de Windows -Configuración- Compilación, ejecución, implementación - Ejecución instantánea.

MAC Android Studio -> Preferencias -> Compilación, ejecución, implementación -> Ejecución instantánea.

Miguel
fuente
3
tu respuesta no agrega nada nuevo, ya se ha dicho en otras respuestas, ¿puedes aclarar?
ColdFusion
2

Me encontré con el mismo error en un proyecto muy antiguo. Dado que Android Studio 3.5 ya no tiene la opción de ejecución instantánea, necesitaba una solución diferente.

Resultó que tuve que cambiar la versión de Gradle manualmente en la Configuración del proyecto. Usé la versión que un Nuevo Proyecto usaría automáticamente, ya que los menús desplegables estaban vacíos.

En mi caso, fue la versión 3.5.1 del complemento y la versión 5.4.1 de Gradle.

Después de eso comencé un proyecto Build - Clean y todo salió bien.

Gunnar Bernstein
fuente
1

Simplemente actualice la versión del complemento de Gradle a la última versión:

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
    }

y asegúrese de que su Gradle también sea la última 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: usar googleen el repositorio también

sana ebadi
fuente