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

Col*_*ire 103 android android-studio android-studio-2.2

我正在尝试使用Android Studio 2.2运行我的项目但是我收到此错误

Unsupported method: AndroidProject.getPluginGeneration().
The version of Gradle you connect to does not support that method.
Run Code Online (Sandbox Code Playgroud)

我正在使用ButterKnife 8.4.0

我的app gradle.file:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}
Run Code Online (Sandbox Code Playgroud)

我的模块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'
}
Run Code Online (Sandbox Code Playgroud)

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

Col*_*ire 281

一般问题: -

这可能是因为AS正在检查"即时运行"功能的可用性.修复是禁用即时运行:

Windows和Linux:

File -> Settings -> Build, Execution, Deployment -> Instant Run.
Run Code Online (Sandbox Code Playgroud)

苹果电脑:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run.
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

感谢@pophus提到这一点.

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

如果你使用版本为2.2.0或更高版本的新Jack编译器,则不需要'android-apt'插件,而是在声明编译器依赖时可以用apt替换apt.

也就是说,删除

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
Run Code Online (Sandbox Code Playgroud)

从您的主gradle文件

并删除

apply plugin: 'android-apt'
Run Code Online (Sandbox Code Playgroud)

从您的主模块文件

并替换

apt 'com.jakewharton:butterknife-compiler:8.4.0'
Run Code Online (Sandbox Code Playgroud)

同

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
Run Code Online (Sandbox Code Playgroud)


小智 24

我在Android Studio 2.2中遇到此错误,在我的情况下,这是因为AS检查即时运行功能的可用性.我通过禁用即时运行来修复它:

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


Say*_*yem 7

将gradle版本更改为2.2

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
}
Run Code Online (Sandbox Code Playgroud)


Flo*_*011 6

在Windows上它是

File / Settings/ Build, Execution, Deployment / Instant Run.
Run Code Online (Sandbox Code Playgroud)

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