方法一:RetroLambda

  1. 在项目根目录下的 build.gradle 中加入
classpath 'me.tatarka:gradle-retrolambda:3.6.0'
  1. 在 module 目录下的 build.gradle 中使用插件,加入
apply plugin: 'me.tatarka.retrolambda'
  1. 在 module 目录下的 buidle.gradle 的 android 中加入
compileOptions {    sourceCompatibility JavaVersion.VERSION_1_8    targetCompatibility JavaVersion.VERSION_1_8}
  1. 最终结果
buildscript {    repositories {        jcenter()    }    dependencies {        ...        classpath 'me.tatarka:gradle-retrolambda:3.6.0'    }}
apply plugin: 'me.tatarka.retrolambda'...android {    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }}

方法二:Jack

  1. 在 module 目录下的 buidle.gradle 的 defaultConfig 中加入
jackOptions {      enabled true}
  1. 在 module 目录下的 buidle.gradle 的 android 中加入
compileOptions {    sourceCompatibility JavaVersion.VERSION_1_8    targetCompatibility JavaVersion.VERSION_1_8}
  1. 最后结果
android {    ...    defaultConfig {        jackOptions {            enabled true        }    }    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }}

比较

目前来说 Jack 是 Google 官方给出的支持Java 8特性的方法,但是编译速度很慢非常慢,且暂不支持Instant Run

更多相关文章

  1. [Android]使用Dagger 2依赖注入 - 图表创建的性能
  2. android获取view宽高的几种方法
  3. ------------------Android中对GridView, ListView等滚动控件的To
  4. android 基于基站,apn,gps,wifi,network 根据不同手机sim卡获取经
  5. Android系统添加Feature方法
  6. Android(安卓)中Touch 事件的分发和消费机制
  7. Android学习笔记之:android更新ui的几种常用方法
  8. android mediaplayer VideoPlayerManager 加载视频闪屏问题排查
  9. Android(安卓)限制显示小数点后两位的实现方法

随机推荐

  1. MDCC,一场盛宴
  2. Android(安卓)Netd详细分析(一)概述
  3. 用SparseArray代替HashMap
  4. Android(安卓)- 监视数据库的变化
  5. android sdk manager出现的问题
  6. Android——自定义左右菜单的实现
  7. Android——DDMS简单介绍
  8. Android(安卓)MTP模式切换分析
  9. Android(安卓)实现屏幕底部弹出Dialog
  10. AS多渠道打包