陈述
听说使用Lambda表达式可以很爽,写出很优雅的代码。瞬间就心动,然后现实是这样的。在配置的过程中可能会有一些小坑,踩一踩就好了。对于无法编写,可以编写但无法Build问题的解决方法如下文所述。对于Jack编译器再等等(^_^)。
当我在AS中第一次使用Lambda表达式时,是这样的如下图。
提示说对我说的不支持。
原来Lambda还是有点小脾气啊!我就喜欢这样有脾气的……
配置
1、探測 build.gradle(app)中加上
- 2、配置 1、build.gradle(app)中配置
配置好了,终于可以编写了。但是新的问题有来了
//使用Java1.8 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
提示没有Jack编译器
加上如下配置可是在Build的时候还是通不过
defaultConfig { //使用Jack编译器 jackOptions{ enabled true } }
- 2、build.gradle(RootProject)中配置
apply plugin:'me.tatarka.retrolambda' android { compileOptions { targetCompatibility 1.8 sourceCompatibility 1.8 } }
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' classpath 'me.tatarka:gradle-retrolambda:3.2.0' } }
然后Build就可以了。
build.gradle文件説明
完成配置后就可以愉快的玩转Lambda了。以上配置对JDK1.8之前的兼容。
注:Jack编译器打开会带来一下意外的“惊喜”,所以一般按配置步骤来配置就可以了。