Gradle DSL方法未find:'apt()'

我正在尝试添加最新版本的butterknife,并从gradle中得到这个错误:

错误:(31,0)未findGradle DSL方法:'apt()'可能的原因:

  • 项目“MyProject”可能使用不包含该方法的Gradle版本。 Gradle设置
  • 构build文件可能缺less一个Gradle插件。 应用Gradle插件
  • 我的gradle mobile build.gradle是:

     plugins { id "net.ltgt.apt" version "0.6" } apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.mynamspace.myproject" minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) wearApp project(':wear') testCompile 'junit:junit:4.12' compile 'com.jakewharton:butterknife:8.0.0' apt 'com.jakewharton:butterknife-compiler:8.0.0' compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.google.android.gms:play-services:8.4.0' compile 'com.android.support:design:23.3.0' compile 'com.android.support:support-v4:23.3.0' compile 'com.android.support:recyclerview-v7:23.3.0' } 

    gradle-apt-plugin有什么问题?

    有一种方法可以让你的plugins工作。 鉴于你的错误,我将首先关注ButterKnife项目的使用情况,让它工作,然后看看是否有你正在尝试的食谱。

    首先,在你的顶级build.gradle文件中 ,在buildscript dependencies包含classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' ,比如:

      buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } 

    然后,在你的模块的build.gradle文件中 ,向顶部添加apply plugin: 'com.neenbedankt.android-apt'

    这些链接是来自ButterKnife GitHub仓库的相关文件,来自项目和专用示例应用程序。

    apt已过时,更改为新格式:

    更改

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

    annotationProcessor'com.jakewharton :butterknife-compiler:8.5.1'

    https://bitbucket.org/hvisser/android-apt/wiki/Migration

    http://jakewharton.github.io/butterknife/

    代替:

      plugins {id "net.ltgt.apt" version "0.6"} 

    尝试:

      apply plugin: 'android-apt' 

    在我的情况帮助:添加到您的build.gradle (不是主要的,但项目之一):

    apply plugin: 'com.neenbedankt.android-apt'

     buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7' } } 

    添加你的apt代码到build.gradle不在主build.gradle中。

     dependencies { apt group: 'group name here', name: 'artifact name here', version:'version here' } 

    当然,你将不得不在主build.gradle中添加下面的代码

     buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.2' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } }