在Android Studio中使用Lambda表达式(retrolambda)
2016-10-21 11:16
676 查看
在Android Studio中使用Lambda表达式
要在Android Studio中使用Lambda表达式,需要借助一个gradle插件来完成。这个插件是 gradle-retrolambda,项目地址是 https://github.com/evant/gradle-retrolambda
A gradle plugin for getting java lambda support in java 6, 7 and android
按照项目中所说,使用这个插件的方式如下:
第1步:首先jdk版本是1.8 没有就下载或者升级一下
第2步:设置这个Android项目使用的是1.8版本的jdk
正常来说,以上两步默认就是,不用再配了吧--!
第3步:
修改project的build.gradle,添加
classpath 'me.tatarka:gradle-retrolambda:3.3.1':
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath 'me.tatarka:gradle-retrolambda:3.3.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
第4步:
修改module的build.gradle文件,添加
apply plugin: 'me.tatarka.retrolambda'和
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
具体内容如下:
apply plugin: 'com.android.application' apply plugin: 'me.tatarka.retrolambda' android { compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { applicationId "com.neumeng.lambdademo" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.0.0' testCompile 'junit:junit:4.12' }
第5步:proguard
## start retrolambda -dontwarn java.lang.invoke.* ## end retorlambda
相关文章推荐
- [Gradle Retrolambda]Android Studio使用lambda表达式
- Mac OSX 上 Android Studio 编译使用 JAVA8 及 retrolambda 的项目出错解决方案
- lambda expression are not supported at this language level (Android Studio中使用lambda表达式)
- Android studio中使用retrolambda之前的配置
- android: 在android studio中使用retrolambda的步骤
- retrolambda在Android studio中的使用
- lambda:在android studio中的配置和使用lambda表达式
- android studio 中gradle插件retrolambda的使用
- Android Studio怎么使用lambda表达式 Android Studio使用lambda教程
- Android Studio中使用Retrolambda插件
- Android Studio 配置 JDK1.8 使用Lambda表达式
- Android Studio 使用 Lambda表达式
- android studio中使用lambda
- 在Android Studio中使用Lambda表达式
- 在Android上使用Lambda表达式 - retrolambda插件
- 如何在Android studio中使用java8 的Lambda表达式
- Android Studio使用Lambda
- Android Studio 使用Lambda表达式
- Android studio 使用Lambda
- android上的JAVA8:使用retrolambda