文档章节

让Android studio支持java8

鬼风
 鬼风
发布于 2017/02/06 17:00
字数 261
阅读 32
收藏 0

一:只需要支持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();
  •  

二: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编译 
官方原文

本文转载自:http://blog.csdn.net/u014300915/article/details/51396278

鬼风
粉丝 13
博文 116
码字总数 32745
作品 0
苏州
Android工程师
私信 提问
Android Studio 2.1 预览版发布,主要针对 Android N 预览版

Android Studio 2.1 预览版发布了,主要针对 Android N 预览版。Android Studio 是一个全新的 Android 开发环境,基于 IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Andr...

oschina
2016/03/10
7.9K
33
Android Studio 2.2 发布:增强支持 Java 8

在今天的I/O大会上,谷歌为Android开发者带来了全新开发工具Android Studio 2.2。 Android Studio 2.2主要改进了UI设计工具,增强了对Java8和C++语言的支持,而且JIT编辑器也变得更加强大,模...

oschina
2016/05/19
23.8K
53
Android 7.0 效率史上最高:运行速度飙升600%

谷歌今天早些时候正式在I/O大会现场详细介绍了有关Android 7.0的大量信息。 目前,我们已经知道,新一代Android操作系统将支持无缝升级,能够通过Vulkan API来在中低硬件配置设备上实现流畅游...

oschina
2016/05/19
33.7K
136
与Java无缝兼容,Kotlin语言的优缺点及建议

从Android 7.0开始,谷歌使用的API从Oracle JDK切换到了open JDK,这对于谷歌来说是一个艰难的决定。对于开发者来说,却倍感兴奋,这意味着长期的官司问题也许就此结束,Android系统开发又可...

架构师springboot
01/10
0
0
Kotlin语言的优缺点简介及提出的一点建议

从Android 7.0开始,谷歌使用的API从Oracle JDK切换到了open JDK,这对于谷歌来说是一个艰难的决定。对于开发者来说,却倍感兴奋,这意味着长期的官司问题也许就此结束,Android系统开发又可...

问题终结者
01/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
5
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
5
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
15
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部