Android Studio—ButterKnife空指针异常

之前一篇写过有关 ButterKnife 插件的使用,当时只是做了插件查找、安装以及在 Activity 中如何使用。在这里先给各位道个歉,因为我也只是做了以上这些步骤,并没有在 demo 中实际使用。今天正好测试一个功能的可行性,在 demo 中实际操作了 ButterKnife ,但是我发现项目编译没有问题,但是在控件赋值时却报了空指针引用的 bug,顿时有点蒙比被欺骗的感觉,难道 ButterKnife 出问题了?可怜的我竟然还发布了它的使用方法。。。

既然出现了问题,那就只能解决它了,不能辜负了大家的厚爱(请大家原谅我的自恋 o(∩_∩)o 哈哈)。插件的使用方法应该是没有错的,要不然 Studio 编译这一关也不会通过的,看来是另有原因了。

我的 ButterKnife 版本是 8.4.0,根据版本查找的解决方法是需要在 build.gradle 中引入 android-apt 插件。

在项目的 build.gradle 中
项目 gradle 配置
在 app 的 build.gradle 中
app gradle 配置

将 android-apt 配置之后,再次运行就可以了。


下面还是要来看看出现这个问题的原因。原来是 8 之后版本与以前配置不大一样,可以看一下 github 原文:
Configure your project-level build.gradle to include the 'Android-apt' plugin:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

Then, apply the 'android-apt' plugin in your module-level build.gradle
and add the Butter Knife dependencies:

apply plugin: 'android-apt'

android {
    ...
}

dependencies {
    compile 'com.jakewharton:butterknife:8.2.1'
    apt 'com.jakewharton:butterknife-compiler:8.2.1'
}

坑已铺平,望大家注意跳过!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,049评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,609评论 2 45
  • 做的时候有在想界限问题,有形的界限好办,不跟那些人在一起算了,但是无形的界限呢?为什么那些负面思想的人即使不在...
    安心的心灵花园阅读 268评论 0 0
  • 读万历第一章有感。这事由来已久。感慨张居正成为万历首辅第一天就为此后的一切埋下伏笔,读历史总有这样的感觉,一切都可...
    艽野之徒阅读 141评论 0 0
  • 自进入大学选报艺术设计专业后,纯绘画领域似乎与自己渐行渐远,直到大学毕业,始终认为自己只有默默的欣赏赞叹,可望而不...
    神闲游阅读 326评论 0 0