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

我试图用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正在检查即时运行function的可用性。 固定是要禁用即时运行:

Windows和Linux:

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

苹果电脑:

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

在这里输入图像说明

感谢@pophus提到这一点。

使用这个步骤如果你正在使用黄油刀 –

如果您使用的是2.2.0或更高版本的新Jack编译器,则不需要“android-apt”插件,而是可以在声明编译器依赖关系时将aptreplace为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' 

我在Android Studio 2.2中遇到了这个错误,在我的情况下,这是AS检查即时运行function的可用性的原因。 我通过禁用即时运行来修复它:

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

将gradle版本更改为2.2

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

在Windows上它是

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

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

只需closures即时运行

Windows文件 – 设置 – 构build,执行,部署 – 即时运行。

MAC Android Studio – >首选项 – >生成,执行,部署 – >即时运行。