project的build.gradl文件
buildscript {
repositories {
google()
jcenter()
mavenCentral()//添加mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'//添加这个classpath
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()//添加mavenCentral()
}
}
app的build.gradle
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'// 添加此plugin
android {
// Butterknife requires Java 8.
compileOptions {// 添加此规则
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.jakewharton:butterknife:10.2.3'// 添加此依赖
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'// 添加此规则
}
其他module的build.gradle
apply plugin: 'com.jakewharton.butterknife'// 添加此plugin
android {
compileOptions {// 添加此规则
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.jakewharton:butterknife:10.2.3'// 添加此依赖
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'// 添加此规则
}
其他module使用ButterKnife注意事项
在app module中使用@BindView(R.id.xxx)即可,
而在其他module中使用时,应该当使用R2.id.xxx,例如:
@BindView(R2.id.common_btn)
Button button;
此时AndroidStudio还认为有语法错误,clean project重新编译即可。