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
	    }
	}

然后编译运行,问题解决

你可能感兴趣的:(原创)