Butter Knife Build Gradle

时间:2018-04-25 06:44:39

标签: android android-studio android-gradle

使用Android Studio 3.1.1,我尝试将Butter Knife添加到项目但是构建gradle失败。

模块级别:

{   ...
    dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

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

以下是构建项目级别:

buildscript {

    repositories {
        google()
        jcenter()
        mavenCentral()
        }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'

    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

enter image description here

我从零开始重新创建了新项目并测试了所有人都说的任何解决方案,但它不起作用,但它仍然失败了这条消息:

Failed to resolve: support-compat

4 个答案:

答案 0 :(得分:2)

删除所有更改,然后添加:

  dependencies {
.
.
.
.
.
.

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

    }

答案 1 :(得分:1)

在项目级别gradle

中添加此项
    repositories {
        google()
        jcenter()
        maven { name 'Sonatype SNAPSHOTs'; url 'https://oss.sonatype.org/content/repositories/snapshots/' }
    }

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT' // here
}

在app level gradle文件中应用插件

apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'//here

答案 2 :(得分:1)

您的问题是您在依赖项中添加了额外的implementation关键字,使用下面的代码更改项目依赖关系

testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.1'
        implementation 'com.jakewharton:butterknife:8.8.1'
        annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

答案 3 :(得分:1)

降级到

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

classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'