不支持的方法:AndroidProject.getPluginGeneration() 而 运行 项目

Unsupported method: AndroidProject.getPluginGeneration() while running project

我正在尝试使用 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'
}

为什么它不起作用,我该如何解决?

一般问题:-

这可能是因为 AS 正在检查 Instant 运行 功能的可用性。修复是禁用 Instant 运行:

Windows & Linux:

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

Mac:

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

感谢@pophus 提到这一点。

使用此步骤如果您使用的是黄油刀:-

如果您使用的是 2.2.0 或更高版本的新 Jack 编译器,则不需要 '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'

将 gradle 版本更改为 2.2

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

我在 Android Studio 2.2 中遇到此错误,在我的情况下,这是由 AS 检查 Instant 运行 功能的可用性引起的。我通过禁用 Instant 运行:

来修复它

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

在Windows上是

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

取消选中 Enable Instant Run to hot swap code...

只是关闭瞬间运行

Windows 文件 - 设置 - 构建、执行、部署 - 即时 运行.

MAC Android Studio -> 首选项 -> 构建、执行、部署 -> 即时 运行。

我 运行 在一个非常古老的项目中出现了同样的错误。由于 Android Studio 3.5 不再具有 Instant 运行 选项,我需要一个不同的解决方案。

事实证明,我必须在项目设置中手动更改 gradle 版本。我使用了新项目会自动使用的版本,因为下拉列表是空的。

就我而言,它是插件版本 3.5.1 和 Gradle 版本 5.4.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