Butter Knife@BindView控件空指针问题

问题复现:
添加7.0以后的ButterKnife库出现,绑定VIEW出现空指针问题

原理:在7.0版本以后引入了注解处理器,取代了之前利用反射原理进行findViewById影响APP性能的方式,增加了新的支持插件,所以需要从新配置gradle

解决方案:
第一种(不建议)把Module里的

compile 'com.jakewharton:butterknife:8.5.1'

修改为

compile 'com.jakewharton:butterknife:7.0.0s'

第二种
先在Project(即自己的工程)的build.gradle中添加如下代码

这里写代码片

classpath ‘com.jakewharton:butterknife-gradle-plugin:8.5.1’

例如

dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

然后在在Module的dependencies添加如下代码

compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

最后安装ButterKnife插件,重启解决。

另外也可以:
annotationProcessor “com.jakewharton:butterknife-compiler:8.5.1” 即可,无需其他配置


Butter Knife@BindView控件空指针问题
https://blog.jeecloud.cn/2017/11/03/20171104023234/
作者
pshgao
发布于
2017年11月4日
许可协议