问题描述:项目中在集成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'
}