一:只需要支持Lambda表达式

在app/build.gradle下添加

android {    //设置JDK1.8    compileOptions {            sourceCompatibility JavaVersion.VERSION_1_8            targetCompatibility JavaVersion.VERSION_1_8        }}buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath 'me.tatarka:gradle-retrolambda:3.2.5'    }}repositories {    mavenCentral()}//添加插件apply plugin: 'me.tatarka.retrolambda'

然后就可以使用Lambda表达式了,比如

new Thread(new Runnable() {    public void run() {      System.out.println("Run!");    }  }).start();

可以简化成

new Thread(() ->System.out.println("Run!")).start();

Github

插件:retrolambda

二:Java 8和Jack编译

参考Android官网

android {  ...  defaultConfig {    ...    jackOptions {      enabled true    }  }  compileOptions {    sourceCompatibility JavaVersion.VERSION_1_8    targetCompatibility JavaVersion.VERSION_1_8  }}

注意: 需要使用Android N 也就是API24,以下是官方原话:
To start using these features, you need to download and set up Android Studio 2.1 and the Android N Preview SDK, which includes the required Jack toolchain and updated Android Plugin for Gradle. If you haven’t yet installed the Android N Preview SDK, see Set Up to Develop for Android N.

开启jack编译后,不能使用apt插件,报异常:Error:Could not find property ‘options’ on task ‘:app:compileDebugJavaWithJack’.参考:google issues

补充

可以使用annotationProcessor代替apt插件,之后即可使用jack编译

更多相关文章

  1. Android(安卓)so库编译错误 java.lang.UnsatisfiedLinkError: da
  2. Android(安卓)HAL:helloworld例程
  3. 解决jdk1.6已经安装,编译android源码报错问题
  4. Android(安卓)反编译,修改,重新打包,签名
  5. R.stamp Error 1
  6. Android应用程序线程消息循环模型分析(4)
  7. android下mm模块出现编译错误问题
  8. android 开发 @override 编译错误 解决办法
  9. Android(安卓)build失败 原因总结:

随机推荐

  1. Android Path的使用详解
  2. Android SHA1加密实现
  3. 分享一些Android免费课程给大家
  4. android ksoap2下webservice的 https请求
  5. ANDROID取CPU序列号
  6. Android实现水印效果
  7. Android之Activity的几种跳转方式
  8. Android跳转淘宝商品详情页代码
  9. Android 开源项目地址备份(持续更新。。。
  10. Android实现即时音效和背景音乐(整理自用)