Неподдерживаемый метод: AndroidProject.getPluginGeneration () при запуске проекта


105

Я пытаюсь запустить свой проект в Android Studio 2.2, но получаю эту ошибку

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

Я использую ButterKnife 8.4.0

Мое приложение gradle.file:

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

Мой файл модуля 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'
}

Почему не работает и как решить?


@ Тим Кастелейнс, что произойдет, если вы примените решения из текущих ответов?
azizbekian

@azizbekian, как это актуально
Тим

Ответы:


281

Общая проблема: -

Это может произойти из-за того, что AS проверяла доступность функции Instant Run. Исправлено отключение Instant Run:

Windows и Linux:

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

Mac:

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

введите описание изображения здесь

Спасибо @pophus за упоминание об этом.

Выполните следующие действия. Если вы используете масляный нож: -

Если вы используете новый компилятор Jack с версией 2.2.0 или новее, вам не нужен плагин android-apt, и вместо этого вы можете заменить apt на annotationProcessor при объявлении зависимости компилятора.

То есть удалить

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

из вашего основного файла Gradle

И удалить

apply plugin: 'android-apt'

из вашего основного файла модуля

и заменить

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

с участием

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

Я хочу любить мгновенный бег, но он ломает вещи настолько странным образом, что делает невозможным регулярное использование без достаточных временных затрат
Сирены

24

Я столкнулся с этой ошибкой в ​​Android Studio 2.2, в моем случае это было вызвано тем, что AS проверяла доступность функции Instant Run. Я исправил это, отключив Instant Run:

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


Работал у коллеги. Он был на Gradle 1.2.3
gitter

1
Вы спасли мою жизнь. Я работаю над проектом, близким к выпуску, и я не хочу обновлять для него Gradle. Это исправление / обходное решение определенно помогло.
Better Shao

@pophus, это может произойти по другой причине, возможно, мгновенный запуск - одна из них, я столкнулся с этой проблемой с масляным ножом
GreenFusion

7

Измените версию Gradle на 2.2

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

извините, это была опечатка, я на самом деле использую 2.2.0
GreenFusion

затем попробуйте удалить папку .idea и перезапустить ide. После обновления проекта до 2.2 у меня тоже возникли разные проблемы. Я нашел одно решение - удалить папку .idea. Сейчас все работает нормально.
Sayem

6

В Windows это

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

Снимите отметку Enable Instant Run to hot swap code...


1
Ваш ответ не добавляет ничего нового, это уже было сказано в других ответах, вы можете уточнить?
GreenFusion

1
Мне потребовалось некоторое время, чтобы найти эту опцию в Windows, поэтому на этот раз я хотел сэкономить для других. Так просто
Flot2011

2

просто закрой мгновенный бег

Файл Windows -Настройки- Сборка, выполнение, развертывание - Мгновенный запуск.

MAC Android Studio -> Настройки -> Сборка, выполнение, развертывание -> Мгновенный запуск.


3
Ваш ответ не добавляет ничего нового, это уже было сказано в других ответах, вы можете уточнить?
GreenFusion

2

Я столкнулся с той же ошибкой в ​​очень старом проекте. Поскольку в Android Studio 3.5 больше нет опции мгновенного запуска, мне потребовалось другое решение.

Оказалось, что мне пришлось вручную изменить версию gradle в настройках проекта. Я использовал версию, которую New Project будет использовать автоматически, так как раскрывающиеся списки были пустыми.

В моем случае это были версии плагина 3.5.1 и Gradle версии 5.4.1.

После этого я запустил проект Build - Clean, и все обошлось.


1

Просто обновите версию плагина Gradle до последней версии:

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
    }

и убедитесь, что ваш Gradle тоже последний 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

ПРИМЕЧАНИЕ: также использовать googleв репозитории

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.