Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gradle DSL method not found: 'apt()'

I am trying to add the latest version of butterknife and I get this error from gradle:

Error:(31, 0) Gradle DSL method not found: 'apt()' Possible causes:

  • The project 'MyProject' may be using a version of Gradle that does not contain the method. Gradle settings
  • The build file may be missing a Gradle plugin. Apply Gradle plugin
  • Where my gradle mobile build.gradle is:

    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' } 

    What's wrong with the gradle-apt-plugin?

    like image 438
    Michel Feinstein Avatar asked Apr 26 '16 21:04

    Michel Feinstein


    1 Answers

    It's entirely possible that there's a way to get your plugins to work. Given your error, I'd start by following what the ButterKnife project uses, get that working, then see if there is a recipe for what you're trying.

    First, in your top-level build.gradle file, include classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' in the buildscript dependencies, such as:

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

    Then, in your module's build.gradle file, include apply plugin: 'com.neenbedankt.android-apt' towards the top.

    The links are to the relevant files from the ButterKnife GitHub repo, from the project and the dedicated sample app.

    like image 136
    CommonsWare Avatar answered Oct 06 '22 01:10

    CommonsWare