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?
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-level
build.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'
}
MISE À JOUR 3:
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'
}
Dans Android Studio, vous pouvez le faire en:
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.