在Android项目中使用OKHTTP时提示API不能低于24的解决办法

问题

在项目中引用了OKHTTP依赖并调用了其代码之后,如果直接编译运行的话,会提示:

Static interface methods are only supported starting with Android N (--min-api 24)

出现这种情况会很尴尬,因为如果真的把最低API设置为24的话,可能很多国产手机都没办法运行我们的项目了。

解决方案

其实解决方案很简单,只要在Module的build.gradle文件里面的android节点里,添加:

compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
}

就行了。

原理

实际上是因为新版的OKHTTP使用了Lambda表达式的写法,而只有Java1.8之后的版本才支持这个写法。

不过个人还是不是很喜欢Lambda表达式的,可能是我技术比较菜,看到用Lambda表达式写得语句就看不懂=。=

发表评论

发表评论

*

沙发空缺中,还不快抢~