You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Android Studio 3.1.1添加Butter Knife时Build Gradle构建失败

解决Android Studio 3.1.1添加Butter Knife构建失败的问题

兄弟,我之前也在AS3.1.1版本里折腾过ButterKnife的配置,结合你用的是Support库27.1.1的情况,给你整理了一套能适配的配置方案,按步骤来应该能搞定构建失败的问题:

第一步:配置项目根目录的build.gradle

首先要在项目级的构建文件里添加ButterKnife的gradle插件依赖,注意要确保仓库包含jcenter()(旧版本ButterKnife托管在这里):

buildscript {
    repositories {
        google()
        jcenter() // 必须添加这个仓库
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1' // 你的AS对应的gradle插件版本,保持不变
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1' // 对应ButterKnife 8.x版本的插件
    }
}

allprojects {
    repositories {
        google()
        jcenter() // 同样要添加
    }
}

第二步:配置模块级的build.gradle

接下来修改你提供的模块依赖文件,需要做两处修改:

  1. 应用ButterKnife插件
  2. 添加ButterKnife的核心依赖和注解处理器依赖

修改后的代码如下:

apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife' // 新增这一行,应用插件

android {
    // 你的原有配置,比如compileSdkVersion、defaultConfig等,保持不变
    compileSdkVersion 27
    defaultConfig {
        applicationId "你的应用ID"
        minSdkVersion ...
        targetSdkVersion 27
        ...
    }
}

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'
    
    // 新增ButterKnife依赖
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

关键注意事项

  • 版本匹配很重要:你用的是Support库(不是AndroidX),所以绝对不能用ButterKnife 9.x及以上版本,那些版本只支持AndroidX。8.8.1是Support库适配的最后一个稳定版本,刚好匹配你的27.1.1 Support库。
  • 仓库必须包含jcenter:旧版本ButterKnife没有上传到mavenCentral,所以必须确保项目和模块的repositories里都有jcenter()。
  • 清理重建项目:配置完成后,先执行Build -> Clean Project,再执行Build -> Rebuild Project,避免缓存导致的构建问题。

如果还是遇到失败,可以检查是否有Support库版本冲突,或者是否误写了依赖类型(比如Java项目用了kapt而不是annotationProcessor)。

内容的提问来源于stack exchange,提问作者user1712775

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:13:32