使用ButterKnife 8.8.1时提示找不到com.jakewharton.butterknife插件求助
解决 "Plugin with id 'com.jakewharton.butterknife' not found" 问题
你遇到的问题核心是ButterKnife插件的配置不完整,再加上依赖定义有疏漏,我帮你一步步梳理并修复:
1. 补全项目根目录的build.gradle配置
你只在module的build.gradle里应用了插件,但没在项目根目录的build.gradle中添加插件的classpath依赖,这是插件找不到的主要原因。请修改根目录的build.gradle:
buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' // 对应你的compileSdk 27,建议用3.2.x版本的gradle插件 classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1' // 版本要和你使用的ButterKnife核心库一致 } } allprojects { repositories { google() mavenCentral() } }
2. 修复Module级build.gradle的问题
你的module配置里有几处明显错误,我帮你修正后的完整代码如下:
apply plugin: 'com.android.library' apply plugin: 'com.jakewharton.butterknife' android { compileSdkVersion 27 buildToolsVersion '27.0.3' flavorDimensions "default" defaultConfig { minSdkVersion 15 targetSdkVersion 27 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // 添加Java 8编译支持,ButterKnife 8.x版本需要这个 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { final SUPPORT_LIB_VERSION = '27.0.2' final COLOR_PICKER_VERSION = '1.5' final BUTTER_KNIFE_VERSION = '8.8.1' // 替换掉无效的"8.8..."版本号 // 添加实际的依赖引用(之前只定义了版本变量,没有引入依赖) implementation "com.android.support:appcompat-v7:$SUPPORT_LIB_VERSION" implementation "com.github.QuadFlask:colorpicker:$COLOR_PICKER_VERSION" // 假设这是你要使用的颜色选择库 implementation "com.jakewharton:butterknife:$BUTTER_KNIFE_VERSION" annotationProcessor "com.jakewharton:butterknife-compiler:$BUTTER_KNIFE_VERSION" }
3. Library项目的特殊注意事项
因为你是在Android Library中使用ButterKnife,所有代码中引用布局id的地方,都要把R替换成R2,比如:
@BindView(R2.id.text_view) TextView textView;
而布局文件里的id依然用普通的R.id.xxx,这是ButterKnife针对Library项目的特殊处理要求。
最后验证步骤
- 点击Android Studio右上角的
Sync Project with Gradle Files按钮同步配置 - 执行Build -> Clean Project -> Rebuild Project清理并重建项目
这样应该就能解决插件找不到的问题了。
内容的提问来源于stack exchange,提问作者user9175219
相关产品推荐
相关产品推荐

