本文记录了ButterKnife接入踩到的一些坑与解决方案
用法不做阐述
ButterKnife官方网站:http://jakewharton.github.io/butterknife
ButterKnife项目地址:https://github.com/JakeWharton/butterknife
ButterKnife介绍
- 强大的View绑定和Click事件处理功能,简化代码,提升开发效率
- 方便的处理Adapter里的ViewHolder绑定问题
- 运行时不会影响APP效率,使用配置方便
- 代码清晰,可读性强
ButterKnife基本配置
1.在Project的 build.gradle 中添加如下代码:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'//添加这行
}
}
2.在App的 build.gradle中添加如下代码:
apply plugin: 'com.jakewharton.butterknife'
3.dependencies中添加:
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
坑
按照上面的配置引入项目后,编译不通过
经过搜索查到是gradle版本与butterknife版本有冲突
若想使用butterknife,gradle和butterknife的插件都需要降级使用
最终的版本
project中的build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
}
}
app的build.gradle没变,还是使用最新的
//butterknife
api 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
更新
其实在app下不用加那个plugin
dependencies的gradle和butterknife都用最新版的也ok