ButterKnife出现 NullpointException(空指针)的解决办法

问题描述:项目中在集成ButterKnife之后,apk调试过程中,总是出现NullpointException。
原因分析:有些项目可能由几个依赖的library module和app module组成,所以由于依赖关系,一般只在library module的build.gradle文件中,进行了如下引用,而app module下对ButterKnife未做任何引用

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
        ...
    }
}

apply plugin: 'com.jakewharton.butterknife'
apply plugin: 'com.android.library'

dependencies {
    ...   
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

解决方法:
在 app module 内引用 annotationProcessor

annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

而在 library module内引用 butterknife 即可解决

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
        ...
    }
}

apply plugin: 'com.jakewharton.butterknife'
apply plugin: 'com.android.library'

dependencies {
    ...   
   compile 'com.jakewharton:butterknife:8.8.1'
}

你可能感兴趣的:(ButterKnife出现 NullpointException(空指针)的解决办法)