2016-09-20 41 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

你的答案沒有增加任何新東西,它已經在其他答案中已經說過,你能澄清嗎? –

相關問題