??因?yàn)楣卷?xiàng)目不是很新,所以AS版本還是2.3,默認(rèn)的jdk也就是1.7(3.0以下都是1.7),ButterKnife也是7.0.1的jar包,最近因項(xiàng)目需要導(dǎo)了一個(gè)基于Java1.8的jar包,失適配了java1.8,結(jié)果導(dǎo)致ButterKnife 7.0.1失效了。
先上適配Java1.8的方法
- 在app下的build.gradle中進(jìn)行如下配置
android {
defaultConfig {
...
jackOption {
enable true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
然后Sync Now一下就行了,上面是android studio3.0以下的適配方案,如果AS版本3.0以上,就可以直接上
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
就行了
解決方案
??把ButterKnife升級(jí)到8.0.1以上就好了。ButterKnife時(shí)效的原因是因?yàn)樗腔贏PT運(yùn)行的,但是在java1.8中APT被移除了,所以對(duì)于低版本的ButterKnife想適配java1.8有兩個(gè)方案:
加入兼容java8的插件
將ButterKnife更新到8.4.0以上