2016-06-10 23 views
10

Ho bisogno di installare il plugin Butter Knife. Dove posso scaricarlo? Ho scaricato un plugin .jar (ma non se il file è quello di cui ho bisogno), l'ho installato ma quando clicco sull'opzione "generate" non viene visualizzata l'opzione per usare butterknife. a seguito di un video tutorial ho modificato i file Gradle costruire: li ho ora come segue:Come impostare il plug-in ButterKnife in Android Studio?

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" 
} 

e

// 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 sincronizzare ottengo questo errore:

"The android android-library or plugin must be applied to the project" error (1.0)

Che cosa sono io fare male?

+0

Perché stai definendo ext {...}? Inserisci tali attributi direttamente nella tua build build.gradle –

+0

come fai a sapere che è correlata a Butterknife? Potrebbe essere che i tuoi valori ext non vengano importati correttamente – gaara87

risposta

42

Il modo più semplice da usare biblioteca butterknife è di aggiungere questa singola riga al modulo a livello build.gradle lista delle dipendenze:

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

È quindi possibile sincronizzare il progetto!

UPDATE 1

ho appena notato Jake Wharton ha aggiornato la libreria dopo l'ultima volta che ho usato! Ora, sembra si deve aggiungere a due luoghi separati:

Nella tua progetto a livellobuild.gradle di file:

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

E, infine, nel vostro a livello di modulobuild.gradle di file:

apply plugin: 'android-apt' 

android { 
    ... 
} 

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

È importante aggiungere apply plugin: 'android-apt' all'inizio del file module-levelbuild.gradle; molto probabilmente sotto la prima riga come questa:

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

Ho appena provato questo e funziona per me. In bocca al lupo!

UPDATE 2

Jake Wharton appena rilasciato un aggiornamento per la biblioteca e qui è che cosa dovete fare per usarlo:

Quindi, all'interno del vostro build.gradle (app-level), aggiungere il seguente al vostro dipendenze!

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

Spero che questo ti aiuti!

+0

Se funziona per te, accetteresti questa come risposta? Grazie – Eenvincible

+0

sì io rispondo questa risposta ... –

+0

Accettarlo significa spuntare la casella sotto l'upvote in modo che gli altri lo trovino utile. È un simbolo di zecca – Eenvincible

1

In Android Studio si può fare questo:

  1. Fare clic con il modulo
  2. Fare clic su 'Apri modulo Impostazioni'
  3. fare clic su Dipendenze Tab
  4. Fare clic sul pulsante più verde
  5. Seleziona 'Dipendenza libreria' dall'elenco a discesa
  6. Inserisci "butterknife" nel campo di ricerca e fai clic sul pulsante di ricerca

Dopo aver selezionato la libreria, Android Studio aggiunge la dipendenza al modulo.

Dal butterknife si occupa di elaborazione di annotazione, è necessario aggiungere questo al build.gradle del modulo subito dopo la dichiarazione di compilazione per butterknife:

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

in cui il numero di versione alla fine deve corrispondere la vostra versione di butterknife.

Problemi correlati