android lambda使用:Retrolambda Plugin
本文主要指导 在android studio中通过配置retrolambda使用lambda语法
官方地址: https://github.com/orfjackal/retrolambda#gradle-plugin
gradle plugin ( 支持java 6 、7 、 android ) : https://github.com/evant/gradle-retrolambda
文章默认玩家已经安装好java8 jdk 环境 , 如未请链接左转
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在Android studio中使用lambda语法需要对project以下三文件进行修改
<1> build.gradle (Project )
在 build.gradle 中的 dependencies 标签添加: classpath 'me.tatarka:gradle-retrolambda:3.2.5'
例:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'me.tatarka:gradle-retrolambda:3.2.5'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
<2> build.gradle ( module )
2.1在最外层添加:
apply plugin: 'me.tatarka.retrolambda'
retrolambda {
javaVersion JavaVersion.VERSION_1_6
}
2.2 在android {} 标签里添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
例子:
<3> 混淆 proguard-rules.pro
在 proguard-rules.pro (ProGuard Rules for app )中添加
# For retrolambda
-dontwarn java.lang.invoke.*
例如:
以上配置完成。
最后在代码里进行试试配置情况
// ┏┓ ┏┓
//┏┛┻━━━┛┻┓
//┃ ┃
//┃ ━ ┃
//┃ ┳┛ ┗┳ ┃
//┃ ┃
//┃ ┻ ┃
//┃ ┃
//┗━┓ ┏━┛
// ┃ ┃ 神兽保佑
// ┃ ┃ 代码无BUG!
// ┃ ┗━━━┓
// ┃ ┣┓
// ┃ ┏┛
// ┗┓┓┏━┳┓┏┛
// ┃┫┫ ┃┫┫
// ┗┻┛ ┗┻┛
谢谢