无法让ButterKnife与Android Studio一起使用

时间:2019-01-22 07:12:30

标签: android android-gradle butterknife

我已经搜索并尝试了许多尝试来解决错误,但到目前为止没有任何效果。在我决定使用黄油刀之前,我的代码运行良好。我已经更新了我的gradle文件:

app.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.udacity.sandwichclub"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    google()
}

dependencies {
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'

    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.android.support:recyclerview-v7:28.0.0'

    //butterknife
    implementation 'com.jakewharton:butterknife:10.0.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
}

项目gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.jakewharton:butterknife-gradle-plugin:10.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

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

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

如果我如上所述离开,则会收到此错误:

  

错误:不得将Android Gradle插件3.3.0应用于项目   '/用户/ verityt /文档/ Android / NanoDegree2018 / SandwichClub / app'   因为版本3.3.0已被应用到该项目中打开文件

我尝试注释掉杰克·沃顿(Jake Wharton)的黄油刀说明中列出的apply插件之一

  

//应用插件:“ com.android.library”

我收到此错误:

  

发现多个文件具有与操作系统无关的路径   'META-INF / androidx.core_core.version'

请帮忙吗?

2 个答案:

答案 0 :(得分:0)

少量笔记

com.android.library导入库/模块中时使用。

此外,请勿将插件与com.android.application一起使用。

您可以做什么

android {
     packagingOptions {
         exclude 'META-INF/androidx.core_core.version'
     }
}

重要提示

在此类依赖项更新期间,最好先阅读其发行说明和可能的副作用

例如。

答案 1 :(得分:0)

更改为 实现'com.jakewharton:butterknife:8.0.0' 注解处理器'com.jakewharton:butterknife-compiler:8.0.0'

我可以。