1:在项目工程的 build.gradle 文件下:
buildscript {
repositories {
jcenter()
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
//这里配置 apt 供butterknife使用
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
2:在Module的 build.gradle里配置:
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android{...}
dependencies {
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
}
3:在library使用注意:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
}
}
apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'
使用 R2代替R
class ExampleActivity extends Activity {
@BindView(R2.id.user) EditText username;
@BindView(R2.id.pass) EditText password;
...
}
4:遇到的问题:
Error:(15, 12) 错误: @BindView-annotated class incorrectly in Android framework package. (android.jrhlive.com.jrhliveapplication.MainActivity)
解决:包名不要以 android.*开始,修改包名即可
参考链接:
1:http://www.open-open.com/news/view/7cbe2ff6
2:http://stackoverflow.com/questions/25152401/butter-knife-wont-inject/25152972
使用方法见:
3:http://jakewharton.github.com/butterknife/