android java8_Android Studio 3内置支持Java 8的相关配置

Android Studio 3开始支持Java 7全部的特性,以及内置支持Java 8部分特性。

原理

1512128479535_8C72e.png

Android Studio 3支持Java 8做法是使用称为desugar工具把javac编译后的.class做字节转换,转换为新的.class文件,最后使用dex转换为dex文件。

配置

Android Studio 3使用Java 8需要做以下配置:

1、升级Android的Grad了插件

在项目的build.gradle修改为buildscript {

repositories {

// 配置google maven仓库

google()

...

}

dependencies {

//插件需要3.0.0或以上

classpath 'com.android.tools.build:gradle:3.0.1'

}

}

2、禁用Jack

Jack不再被支持,如果项目里有使用Jack,需要先禁用jack,删除jackOptions配置块即可。

android {

...

defaultConfig {

...

// 删除jackOptions配置

jackOptions {

enabled true

...

}

}

}

注意:如果Android Studio 3检测到项目支持使用Jack/ Retrolambda或 DexGuard,它默认会使用这些插件提供的Java 8功能。

3、设置sourceCompatibility 和 targetCompatibilityandroid {

...

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

}

支持Java 8的特性列表

API level 24开始支持一下Java 8 API:java.util.stream

java.util.function

java.lang.FunctionalInterface

java.lang.annotation.Repeatable

java.lang.reflect.AnnotatedElement.getAnnotationsByType(Class)

java.lang.reflect.Method.isDefault()

所有的Android API level支持try-with-resources

参考:https://developer.android.com/studio/write/java8-support.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值