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'
代替:
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' } }