2016-09-20 47 views
100

我试图与Android Studio 2.2中运行我的项目,但我得到这个错误不支持的方法:AndroidProject.getPluginGeneration(),同时运行项目

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' 
} 

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

+0

@Tim Castelijns,如果您应用当前答案的解决方案会发生什么? – azizbekian

+0

@azizbekian这是如何相关 –

回答

281

总问题: -

因为被检查的即时运行功能的可用性它可以发生。固定是禁用即时运行:

的Windows &的Linux:

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

的Mac:

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

enter image description here

感谢@pophus为提这个。

使用此步骤如果您使用的是butterknife: -

如果您使用的是新杰克编译器2.2.0或更新的版本,则不需要了“Android的易”插件,可以而是在声明编译器依赖性时将apt替换为annotationProcessor。

也就是说,从你的gradle主文件

从主模块文件中删除

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

,并删除

apply plugin: 'android-apt' 

并更换

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

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

我想爱即时运行,但它打破了这样奇怪的方式,它使得它不可能经常使用,没有相当多的时间投资 – Sirens

7

变化gradle这个版本到2.2

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

对不起,这是一个错字我使用2.2.0 –

+0

然后尝试删除您的.idea文件夹并重新启动您的ide。项目更新到2.2后,我也遇到了不同的问题。我找到的一个解决方案是删除.idea文件夹。现在一切正常。 – Sayem

24

我在Android中Studio 2.2中遇到了这个错误,在我的情况下,它是通过事业AS检查即时运行功能的可用性。我固定它通过禁用即时运行:

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

+0

工作给我的同事。他在gradle 1.2.3 – gitter

+1

你救了我的命。我正在开发一个接近发布的项目,我不想为它升级gradle。此修复/解决方法绝对有帮助。 –

+0

@pophus它可能由于不同的原因发生可能即时运行是一个,我用butterknife遇到了这个问题 –

5

在Windows上,

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

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

+1

你的回答没有添加任何新东西,它已经在其他答案中说过了,你能澄清一下吗? –

+1

我花了一些时间在Windows上找到这个选项,所以这次我想为其他人省钱。就像那样简单 – Flot2011

1

只是接近即时运行

的Windows 文件 - 组构建,执行,部署 - 即时运行。

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

+3

你的答案没有增加任何新东西,它已经在其他答案中已经说过,你能澄清吗? –

相关问题