web-dev-qa-db-fra.com

Comment configurer le plugin ButterKnife dans Android Studio?

J'ai besoin d'installer le plugin Butter Knife. Où puis-je le télécharger? J'ai téléchargé un plugin .jar (mais pas si le fichier est celui dont j'ai besoin), je l'ai installé mais lorsque je clique sur l'option "générer", l'option d'utiliser Butterknife n'apparaît pas. suite à un tutoriel vidéo j'ai modifié les fichiers de construction Gradle: Je les ai maintenant comme suit:

apply plugin: 'Android-apt'
apply plugin: 'com.Android.application'


Android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId "calcursoedxleccion0.cal"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile "com.Android.support:appcompat-v7:$rootProject.ext.supportLibraryVersion"
    compile "com.Android.support:recyclerview-v7:$rootProject.ext.supportLibraryVersion"
    compile "com.Android.support:support-v4:$rootProject.ext.supportLibraryVersion"
    compile "com.Android.support:design:$rootProject.ext.supportLibraryVersion"

   // compile "com.jakewharton:butterknife:$rootProject.ext.butterKnifeVersion"
    compile "com.jakewharton:butterknife:$rootProject.ext.butterKnifeVersion"


   apt "com.jakewharton:butterknife-compiler:8.0.1"
}

et

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext{

    minSdkVersion = 16
    targetSdkVersion = 23
    compileSdkVersion = 23
    buildToolsVersion = '23.0.3'

    supportLibraryVersion = '23.3.0'
    butterKnifeVersion = '8.0.1'
}

Gradle à synchroniser j'obtiens cette erreur:

"L'erreur Android android-library ou plugin doit être appliquée au projet") (1.0)

Qu'est-ce que je fais mal?

10
Rafael Hernández

La façon la plus simple d'utiliser la bibliothèque ButterKnife est d'ajouter cette seule ligne à votre liste de dépendances au niveau du module build.gradle:

dependencies {
  implementation 'com.jakewharton:butterknife:7.0.1'
}

Vous pouvez ensuite synchroniser votre projet!

MISE À JOUR 1

Je viens de remarquer que Jake the Wharton a mis à jour la bibliothèque depuis la dernière fois que je l'ai utilisée! Maintenant, il semble que vous devez ajouter à deux endroits distincts:

Dans votre fichier au niveau du projet build.gradle:

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

Et enfin, dans votre fichier de niveau module build.gradle:

apply plugin: 'Android-apt'

Android {
  ...
}

dependencies {
   implementation 'com.jakewharton:butterknife:8.0.1'
   apt 'com.jakewharton:butterknife-compiler:8.0.1'
}

Il est important que vous ajoutiez apply plugin: 'Android-apt' En haut du fichier module-levelbuild.gradle; très probablement en dessous de la première ligne comme ceci:

apply plugin: 'com.Android.application'
apply plugin: 'Android-apt'

Je viens de tester cela et travaille pour moi. Bonne chance!

MISE À JOUR 2

Jake Wharton vient de publier une mise à jour de la bibliothèque et voici ce que vous devez faire pour l'utiliser:

Donc, à l'intérieur de votre build.gradle (app-level), ajoutez ce qui suit à vos dépendances!

dependencies {
   compile 'com.jakewharton:butterknife:8.8.1'
   annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

where to add J'espère que cela vous aide!

MISE À JOUR 3:

Voici les versions publiées jusqu'à présent au cas où vous auriez un conflit avec d'autres bibliothèques et voudriez que cela fonctionne sur les anciens niveaux d'API

En essayant, au cas où vous le voudriez niveau minimum du SDK 15 jusqu'à présent, vous devrez jouer avec les versions pour le faire fonctionner dans mon cas, ces jeux sont compatibles jusqu'à présent avec le SDK 15 au minimum.

Dans ce cas, je ne les ai mis qu'au niveau de l'application du module build.gradle.

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    implementation 'com.Android.support:appcompat-v7:24.2.1'
    implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'

    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    implementation group: 'com.squareup.retrofit2', name: 'converter-gson', version: '2.3.0'

    implementation 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

    implementation 'io.reactivex:rxjava:1.1.6'
    implementation 'io.reactivex:rxandroid:1.2.1'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'

    implementation 'com.Android.support:recyclerview-v7:24.2.1'
}
45
Eenvincible

Dans Android Studio, vous pouvez le faire en:

  1. Faites un clic droit sur votre module
  2. Cliquez sur "Ouvrir les paramètres du module"
  3. Cliquez sur l'onglet Dépendances
  4. Cliquez sur l'icône verte plus
  5. Sélectionnez "Dépendance de la bibliothèque" dans la liste déroulante
  6. Entrez "butterknife" dans le champ de recherche et cliquez sur le bouton de recherche

Après avoir sélectionné la bibliothèque, Android Studio ajoute la dépendance à votre module.

Puisque butterknife fait le traitement des annotations, vous devez l'ajouter au build.gradle de votre module juste après l'instruction de compilation pour butterknife:

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

où le numéro de version à la fin doit correspondre à votre version de butterknife.

3
movAX13h