AndroidX下的两个坑
一、butterknife等依赖引发的坑:
The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.
该原因可以这样理解:是引用的依赖版本比较老,未适配Androidx,将butterknife版本更新到最新版本10.0.0即可
二、Androidx的运行环境Java JDK版本的坑:
Static interface methods are only supported starting with Android N (--min-api 24): void butterknife.Unbinder.lambda$static$0()
提示的意思是 AndroidStudio中minSdkVersion最小值应为24,其实将24改为26后编译运行,发现,继续提示上面的错误,不同的是24变成26了。但是由于App 肯定不能只适配 8.0以上的设备 , 所以还得另寻方法
最后发现这问题都是因为没有指定jdk 1.8而产生的
在app build:gradle 中的android 下添加 指定jdk版本的代码,如下:
android {
......
//指定Java运行环境jdk版本
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
然后编译运行,问题解决