web-dev-qa-db-fra.com

Méthode DSL Gradle introuvable: 'apt ()'

J'essaie d'ajouter la dernière version de butterknife et j'obtiens cette erreur de Gradle:

Erreur: (31, 0) Méthode DSL Gradle introuvable: 'apt ()' Causes possibles:

  • Le projet 'MyProject' utilise peut-être une version de Gradle ne contenant pas la méthode. Paramètres Gradle
  • Il manque peut-être un plugin Gradle au fichier de construction. Appliquer le plugin Gradle

Où mon grade mobilebuild.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'
}

Qu'est-ce qui ne va pas avec gradle-apt-plugin?

45
mFeinstein

Il est tout à fait possible qu'il existe un moyen de faire fonctionner votre plugins. Compte tenu de votre erreur, je commencerais par suivre ce que le projet ButterKnife utilise, le faire fonctionner, puis voir s’il existe une recette pour ce que vous essayez.

Tout d’abord, dans votre plus haut niveau build.gradle fichier , inclure classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8' dans buildscriptdependencies, tels que:

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

Puis, dans votre module build.gradle fichier , inclure apply plugin: 'com.neenbedankt.Android-apt' vers le haut.

Les liens renvoient aux fichiers pertinents du référentiel ButterKnife GitHub, du projet et de l'exemple d'application dédié.

102
CommonsWare

apt est obsolète, changez apt au nouveau format:

changement

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/

19
q...

Au lieu de:

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

essayer:

    apply plugin: 'Android-apt'
5

Dans mon cas, a aidé: ajouter à votre build.gradle _ (pas principal, mais projet 1):

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'
    }
}
1
Boris Safonov

Ajoutez votre code apt dans les applications build.gradle PAS dans le build.gradle principal.

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

Bien sûr, vous devrez ajouter le code suivant dans votre build.gradle principal

buildscript {
    repositories {
        jcenter()
    }

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