Непідтримуваний метод: 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'
}

Чому це не працює і як це вирішити?


@Tim Castelijns, що трапиться, якщо застосувати рішення з поточних відповідей?
azizbekian

@azizbekian наскільки це актуально
Тім

Відповіді:


281

Загальний випуск: -

Це може статися тому, що AS перевіряв наявність функції Instant Run. Фіксованим є відключення миттєвого запуску:

Windows та Linux:

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

Мак:

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'

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

24

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

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


Працював на мого колегу. Він був на Gradle 1.2.3
дифракційної решітки

1
Ти врятував мені життя. Я працюю над проектом, близьким до випуску, і не хочу оновити gradle для нього. Це виправлення / вирішення, безумовно, допомогло.
Краще Шао

@pophus це може статися через іншу причину, можливо, миттєвий запуск - це одна, я зіткнувся з цим питанням із маслюком
ColdFusion

7

Змініть версію gradle на 2.2

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

Вибачте, що був помилковим, що я є інфактним, використовуючи 2.2.0
ColdFusion

то спробуйте видалити папку .idea та перезапустіть ідею. Після оновлення проекту до 2.2 я також стикався з різними проблемами. Я знайшов одне рішення - видалити папку .idea. Зараз усі працюють нормально.
Сайм

6

У Windows це так

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

Зніміть прапорець Enable Instant Run to hot swap code...


1
Ваша відповідь не додає нічого нового, це вже було зазначено в інших відповідях, чи можете ви уточнити?
ColdFusion

1
Щоб знайти цю опцію в Windows, знадобилося певний час, тому я цього разу хотів заощадити для інших. Настільки ж просто
Flot2011

2

просто закрити миттєвий запуск

Файл Windows -Налаштування- Збірка, виконання, розгортання - миттєвий запуск.

MAC Android Studio -> Налаштування -> Збірка, виконання, розгортання -> Миттєвий запуск.


3
Ваша відповідь не додає нічого нового, це вже було зазначено в інших відповідях, чи можете ви уточнити?
ColdFusion

2

Я зіткнувся з тією ж помилкою на дуже старому проекті. Оскільки Android Studio 3.5 вже не має можливості миттєвого запуску, мені потрібно було інше рішення.

Виявилося, що мені довелося змінити версію gradle вручну в Налаштуваннях проекту. Я використовував версію, яку використовував новий проект автоматично, оскільки спадні місця були порожніми.

У моєму випадку це була версія Plugin 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.