最近的项目使用了ButterKnife,按照经验,随便在网上找了配置!心想大功告成!
结果一运行,空指针异常!郁闷至极!,就不说怎么找bug的过程了!
以下三个配置:都需要在as中下载插件Android ButterKnife Zelezny
当所有的都配置好了之后:
切记!!!:一定要先选中当前布局名称
选中当前布局名称,然后单击右键–选中generate–就会出现Generate ButterKnife Injections
当as升级到3.1.2的最新版时,其butterknife的配置版本变为8.8.1时,其配置如下:
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
这简单的配置后还不行,如果as的编译版本过低是,会报AGPI的错误,aapt不能加载成功,这个时候,请将compileSdkVersion 和buildToolsVersion版本升级到26和26.0.1
亲自有效:
以下都是as是2.3.1版本的时候配置的:
简单点:ButterKnife在使用的过程中,不同的版本的配置方式是完全不一样的!
高版本:ButterKnife:8.5.1的配置
1,在整个项目中的Build gradle文件中配置如下:
classpath ‘com.jakewharton:butterknife-gradle-plugin:8.5.1‘
2,在Module中的Build gradle中添加配置如下:
**apply plugin: ‘com.jakewharton.butterknife‘**
dependencies {
**compile ‘com.jakewharton:butterknife:8.5.1‘**
**annotationProcessor ‘com.jakewharton:butterknife-compiler:8.5.1‘**
}
低版本配置:如ButterKnife8.0.1的配置
同样第一步:在整个项目中的Build gradle文件中配置如下:
classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ (后面的1.8可以根据版本来选择,关系不大)
第二步:在Module中的Build gradle中添加配置如下:
apply plugin: 'com.neenbedankt.android-apt' //添加这行
dependencies {
compile 'com.jakewharton:butterknife:8.2.1' //添加这行
apt 'com.jakewharton:butterknife-compiler:8.2.1' //添加这行
}
第三步:配置更低版本,一步到位
compile 'com.jakewharton:butterknife:7.0.1'
以上三种配置方式都可: