Android N中对java 8的支持

android的下一个版本是N名字还不知道,版本号也不知道。出了一个Preview的版本,看了一个还是不错的,我最喜欢的是对java 8语法的支持,也只是语法的支持,在java 8中的Stream在这个版本中是不可以使用的。

1.编译器的改变。

在新的build-tools中使用了新版的编译器Jack(Java Android Compiler Kit)

以下是构建Android Dalvik 可执行文件可用的两种工具链的对比:

?旧版javac工具链: javac(.java->.class)-->dx(.class->.dex)

?新版Jack工具链: jack(.java->.jack->.dex)

新的编译器没有再使用到javac不知道是不是和Oracle的官司失利有关。

2.在Gradle中启用java 8和jack

android{

...

defaultConfig{

...

jackOptions{

enable true

}

}

compileOptions{

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

}

这里要注意下buildToolsVersion的版本一定要大于24.0.0。

3.可以在Android N当中可以使用的Java 8语法

?默认和表态接口方法

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐