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 Réponses :
Utilisez ceci:
compile 'com.jakewharton:butterknife:8.7.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
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'
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
c'est un problème androidx
@mamenejr pour rétrograder votre version
@mamenejr essayez la version 8.7.0
essayez ceci
implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
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!
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 } } } }
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?