簡體   English   中英

如何在Android Studio中設置ButterKnife插件?

[英]How to setup ButterKnife plugin in Android Studio?

我需要安裝插件Butter Knife。 我在哪里可以下載? 我下載了一個.jar插件(但不是如果文件是我需要的那個),我已經安裝但是當我點擊“生成”選項時,沒有出現使用butterknife的選項。 在視頻教程之后我修改了文件Gradle build:我現在有以下內容:

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

// 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 to synchronize我收到此錯誤:

“android android-library或插件必須應用於項目”錯誤(1.0)

我究竟做錯了什么?

使用ButterKnife庫的最簡單方法是將此單行添加到模塊級build.gradle依賴項列表中:

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

然后,您可以同步您的項目!

更新1

我剛剛注意到自從上次我使用它以來,沃頓已經更新了庫! 現在,您似乎必須添加到兩個單獨的位置:

項目級 build.gradle文件中:

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

最后,在您的模塊級 build.gradle文件中:

apply plugin: 'android-apt'

android {
  ...
}

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

apply plugin: 'android-apt'module-level build.gradle文件的頂部非常重要; 最可能低於第一行,如下所示:

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

我剛剛測試了這個並且適合我。 祝好運!

更新2

Jake Wharton剛剛發布了對庫的更新,以下是您需要做的事情:

因此,在build.gradle (app-level) ,將以下內容添加到依賴項中!

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

在哪里添加 我希望這可以幫助你!

更新3:

以下是迄今為止發布的版本,以防您與其他庫發生沖突並希望它能夠在較舊的API級別上運行

通過嘗試,如果你想要它至少達到SDK級別15到現在你將需要使用版本來使它在我的情況下工作這些集合是目前為止最小的SDK 15。

這種情況我只將這些放在模塊應用程序級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'
}

在Android Studio中,您可以通過以下方式執

  1. 右鍵單擊您的模塊
  2. 點擊“打開模塊設置”
  3. 單擊“依賴關系”選項卡
  4. 單擊綠色加號圖標
  5. 從下拉列表中選擇“Library Dependency”
  6. 在搜索字段中輸入“butterknife”,然后單擊搜索按鈕

選擇庫后,Android Studio會將依賴項添加到模塊中。

由於butterknife進行注釋處理,你必須在butterknife的compile語句之后立即將它添加到模塊的build.gradle:

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

最后的版本號應該與你的版本的butterknife相匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM