lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式

最近在自己写的项目里面添加lambda表达式,一直以为只用在Android Studio里面下一个Lambda Plugin就可以了,但是,万万没想到写出来之后居然爆出来“lambda expressions are not supported at this language level”

查了一下是说Android Studio里面的Java语言不支持(因为JAVA8已经支持Lambda表达式了)在google.com搜了一下,国外的大牛们解决方法却让你傻眼了:

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第1张图片

            lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第2张图片

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第3张图片

而我的Android Studio是这样的:

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第4张图片

这里只能选1.6或者1.7,而java8是1.8

需要在当前项目的gradle文件里面添加三段代码:

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第5张图片

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第6张图片

这是让你的IDE强制使用JAVA8 ,你现在可以去刚刚的Project structure里面,java的语言已经强制支持了1.8:

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第7张图片

但是光写这个是没用的,他依然会报错,而且冒出一个jack?

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第8张图片


大致的意思就是,你的项目没有需要用java8呀?你要么找到一个东西(jack)让它需要用到java8,要么把java8给关了省事!
可是明明是你说了Lambda表达式需要用的……
对的!

所以我们就要声明,我们要用Lambda。怎么声明呢?


lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第9张图片

然后跑到全局的gradle里面

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第10张图片

把刚刚Lambda的下载地址搞上去:

lambda expressions are not supported at this language level解决方法/source 1.7 中不支持 lambda 表达式_第11张图片



完活手工。

废了好大劲找到的。非原创。

原创地址:https://www.jianshu.com/p/f2b58ff0b152

你可能感兴趣的:(Android)