在网上搜索,还不清楚Android开发是否支持Java 8。
在我下载/安装Java 8之前,能不能有人给我指出任何“官方”文档,说Java 8是或不支持Android开发。
在网上搜索,还不清楚Android开发是否支持Java 8。
在我下载/安装Java 8之前,能不能有人给我指出任何“官方”文档,说Java 8是或不支持Android开发。
当前回答
谷歌刚刚宣布Java 8将被Android原生支持,Jack工具链将弃用:
我们已经决定将对Java 8语言特性的支持直接添加到当前的javac和dx工具集中,并弃用Jack工具链。有了这个新方向,依赖于Java类文件格式的现有工具和插件应该可以继续工作。接下来,Java 8语言特性将被Android构建系统原生支持。我们的目标是在未来几周内将其作为Android Studio的一部分发布,我们希望尽早与大家分享这一决定。
更多信息: https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html
其他回答
是的。我们将很快使用Java 8 !
我们已经决定将对Java 8语言特性的支持直接添加到当前的javac和dx工具集中,并弃用Jack工具链。有了这个新方向,依赖于Java类文件格式的现有工具和插件应该可以继续工作。接下来,Java 8语言特性将被Android构建系统原生支持。我们的目标是在未来几周内将其作为Android Studio的一部分发布,我们希望尽早与大家分享这一决定。
https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html
更新2019/10/28
Android Studio 4.0解决了这个问题。
D8编译器在编译时将Java 8原生api的反向端口补丁到APK中,你的应用程序将在运行时使用该代码,而不是原生api。这个过程被称为脱糖。
最新消息:
谷歌宣布Android N和Android Studio 2.1+平台将支持Java 8。studio 2.1的稳定版本也发布了。
最后,我们可以使用lambda表达式。for循环中不再有列表过滤器。Horeeey。
添加这一行到模块LVL构建等级
compileOptions { sourceCompatibility JavaVersion。VERSION_1_8 targetCompatibility JavaVersion。VERSION_1_8 }
Android使用的Java是Java 6的分支。
从Android SDK版本19开始,您可以通过这样做来使用Java 7特性。目前还没有完全支持Java 8。