运行项目时AndroidProject.getPluginGeneration怎么使用?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

我试图用Android Studio 2.2运行我的项目,但我得到这个错误:

Unsupported method: AndroidProject.getPluginGeneration().
The version of Gradle you connect to does not support that method.

我的应用程序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正在检查即时运行功能的可用性。固定是禁用即时运行:

Windows和Linux:

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

苹果电脑:

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

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

那就是删除 :

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检查Instant Run功能的可用性的原因。我通过禁用即时运行来修复它:

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

扫码关注云+社区