2
votes

Impossible de trouver le compilateur ButterKnife

J'ai intégré ButterKnife dans mon projet, depuis, il m'est impossible de le construire

J'ai essayé différentes versions de la bibliothèque mais rien ne semble fonctionner

Voici l'erreur pendant la construction:

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }

    }
}

Et voici mon fichier build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.toto"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    //Retrofit Dependencies
    implementation 'com.squareup.retrofit2:retrofit:2.5.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'

    // Butter Knife
    implementation 'com.jakewharton:butterknife:7.0.1'
    implementation 'com.android.support:support-annotations:28.0.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:7.0.1'

    // ZXing
    implementation 'com.github.tobrun:QR-Vision-Fragment:master-SNAPSHOT'

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-vector-drawable:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    implementation 'com.android.support:design:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
}

J'ai déjà ajouté les dépôts jitpack dans le projet build.gradle:

Could not find com.jakewharton:butterknife-compiler:7.0.1.
Searched in the following locations:
  - https://dl.google.com/dl/android/maven2/com/jakewharton/butterknife-compiler/7.0.1/butterknife-compiler-7.0.1.pom
  - https://dl.google.com/dl/android/maven2/com/jakewharton/butterknife-compiler/7.0.1/butterknife-compiler-7.0.1.jar
  - https://jcenter.bintray.com/com/jakewharton/butterknife-compiler/7.0.1/butterknife-compiler-7.0.1.pom
  - https://jcenter.bintray.com/com/jakewharton/butterknife-compiler/7.0.1/butterknife-compiler-7.0.1.jar
  - https://jitpack.io/com/jakewharton/butterknife-compiler/7.0.1/butterknife-compiler-7.0.1.pom
  - https://jitpack.io/com/jakewharton/butterknife-compiler/7.0.1/butterknife-compiler-7.0.1.jar
Required by:
    project :app


4 commentaires

Il y a de nouvelles versions, les utiliser? mvnrepository.com/artifact/com.jakewharton/butterknife


Sous Scripts Gradle, accédez à build.gradle (Module: app) et ajoutez la ligne suivante à l'intérieur de la balise dependencies. Synchronisez Gradle et réessayez l'implémentation 'com.jakewharton: butterknife: 8.5.1'


La dernière version en ce moment est: 10.1.0 vous pouvez trouver toute la version d'ici: mvnrepository.com/artifact/com.jakewharton/butterknife-compi‌ ler


Pourquoi le site Web de Butter Knife n'est-il pas à jour?


4 Réponses :


1
votes

Utilisez ceci:

compile 'com.jakewharton:butterknife:8.7.0'

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


0 commentaires

1
votes

de cette version de butterknife-compiler 7.0.1 non répertorié (fondé) dans le référentiel mvn

utilisez donc la dernière version de la bibliothèque

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


4 commentaires

J'ai l'erreur suivante maintenant: ERREUR: la fusion du manifeste a échoué: application d'attribut @ appComponentFactory value = (android.support.v4.app.CoreComponentFactory) de [com.android.support:support-compat:28.0.0] AndroidManifest.xml: 22: 18-91 est également présent sur [androidx.core: core: 1.0.0] AndroidManifest.xml: 22: 18-86 value = (androidx.core.app.CoreComponentFactory). Suggestion: ajoutez 'tools: replace = "android: appComponentFactory"' à l'élément sur AndroidManifest.xml: 5: 5-26: 19 pour remplacer.


c'est un problème androidx


@mamenejr pour rétrograder votre version


@mamenejr essayez la version 8.7.0



1
votes

essayez ceci

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


5 commentaires

Semble fonctionner mais la construction ne fonctionne pas: ause 1: java.util.concurrent.ExecutionException: java.lang.RuntimeException: classe en double android.support.v4.accessibilityservice.AccessibilityService‌ InfoCompat trouvé dans les modules classes.jar (com. android.support:support-compat:28.0.0) et classes.jar (com.android.support:support-v4:22.2.0)


essayez de supprimer votre support-compat et support-v4 de vos dépendances et utilisez cette implémentation 'com.android.support:support-compat:28.0.0' implementation 'com.android.support:support-v4:28.0.0'


Je ne pense pas avoir de bibliothèque support-v4


supprimez support-compat et remplacez-le par l'implémentation de 2 lignes dans le dernier commentaire


Cela semble fonctionner comme un charme! Je ne comprends pas pourquoi je dois remplacer ces paramètres car ce sont les paramètres par défaut ... Mais en tout cas merci!



1
votes

Si vous construisez un ancien projet Android et que vous ne souhaitez pas mettre à niveau votre dépendance Butterknife, ajoutez-le à votre fichier gradle (au niveau de l'application). Cela a réveillé pour moi. Bon codage :)

android {
   ...
  defaultConfig {
    javaCompileOptions {
      annotationProcessorOptions {
        includeCompileClasspath = true
      }
    }
  }
}


0 commentaires