45 votes

Gradle DSL méthode ne trouve pas: 'apt()'

Je suis en train d'ajouter la dernière version de butterknife et j'obtiens cette erreur de gradle:

Erreur:(31, 0) Gradle DSL méthode ne trouve pas: 'apt()' Possible causes:

Le projet "MyProject" peut-être une version de Gradle qui ne contient pas la méthode. Gradle paramètres Le fichier build peut-être manquant un plugin Gradle. Appliquer Plugin Gradle

D'où mon gradle mobile build.gradle est:

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

Quel est le problème avec le gradle-apt-plugin?

102voto

CommonsWare Points 402670

Il est tout à fait possible qu'il y est une façon d'obtenir votre plugins de travail. Compte tenu de votre erreur, j'aimerais commencer par ce que les ButterKnife projet, obtenir que le travail, puis voir si il ya une recette pour ce que vous essayez.

Tout d'abord, dans votre haut niveau- build.gradle le fichier, comprennent classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' dans la buildscript dependencies, tels que:

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

Ensuite, dans votre module build.gradle le fichier, comprennent apply plugin: 'com.neenbedankt.android-apt' vers le haut.

Les liens sont les fichiers à partir de la ButterKnife dépôt GitHub, à partir du projet et dans l'espace dédié exemple d'application.

20voto

q... Points 511

apt est obsolète, Changement d'apt à nouveau format:

changement

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

pour

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

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

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

5voto

Au lieu de:

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

essayez:

    apply plugin: 'android-apt'

1voto

Boris Safonov Points 460

Dans mon cas, m'a aidé: ajouter à votre build.gradle (pas le principal, mais un projet) :

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

et

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
    }
}

0voto

ABS Points 490

Ajouter votre apt code dans les applications de construction.gradle PAS dans la version principale.gradle.

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

Bien Sûr, vous devez ajouter le code suivant dans votre build.gradle

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X