之前项目用的都是support包下的,ButterKnife用的是8.8.1。
这次开了个新项目,直接给我导的androidx的包。。第一次用,诚惶诚恐。在base里先绑定了,结果运行出来以后报空指针,看了下base里写的也没毛病啊,就去百度找大神,
https://www.jianshu.com/p/eaafc13e71ba
解决方法:
app的build.gradle
//引入ButterKnifeimplementation "com.jakewharton:butterknife:10.0.0"kapt "com.jakewharton:butterknife-compiler:10.0.0"
编译一下,还是报错,不过是新问题:Error: Static interface methods are only supported starting with Android N (--min-api 24)
错误原因:这是因为java8才支持静态接口方法的原因
解决办法:可以通过在app的build.gradle文件中配置使用java8编译:
android {...compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
}
参考链接:https://www.jianshu.com/p/49ff4c7c1e29