是否可以使用 Java 8 进行 Android 开发?

搜索网络,尚不清楚Android开发是否支持Java 8。

在我下载/设置Java 8之前,有人可以指出任何“官方”文档,说明Java 8是否支持Android开发。


答案 1

2017/11/04 更新 - Android Studio 3.0 现在对 Java 8 提供了本机支持。 现在不再需要。查看 https://developer.android.com/studio/write/java8-support.htmlgradle-retrolambda

上面的链接还包括迁移说明(如果您使用的是 )。原始答案如下:gradle-retrolambda


Android 不支持 Java 8。它只支持Java 7(如果你有kitkat),它仍然没有调用动力学,只有新的语法糖。

如果你想使用lambdas,这是Java 8在Android中的主要功能之一,你可以使用gradle-retrolamba。它是一个集成了 retrolambda 的 gradle 构建依赖项,retrolambda 是一个将 Java 8 字节码转换回 Java 6/7 的工具。基本上,如果你在Android Studio中将编译器设置为编译Java 8字节码,从而允许lambdas,它会将其转换回Java 6/7字节码,然后反过来转换为dalvik字节码。如果你想在Android中尝试一些JDK 8功能来代替官方支持,这是一个黑客。


答案 2

爪哇 8

Android 支持所有 Java 7 语言功能以及 Java 8 语言功能的子集,这些功能因平台版本而异。

检查 java 8 的哪些功能受支持

使用 Java 8 语言功能

我们决定将对 Java 8 语言功能的支持直接添加到当前的 javac 和 dx 工具集中,并弃用 Jack 工具链。有了这个新的方向,依赖于Java类文件格式的现有工具和插件应该可以继续工作。展望未来,Android构建系统将原生支持Java 8语言功能。我们的目标是在未来几周内将其作为 Android Studio 的一部分推出,我们希望尽早与您分享这一决定。

Android 上 Java 8 语言功能支持的未来

Eclipse 用户:

对于喜欢Eclipse的老开发人员,谷歌停止支持Eclipse Android Developer工具

如果您安装了Java 8 JDK,请尝试一下,如果出现任何问题,请尝试从Windows菜单中将编译器设置为Eclipse中的1.6→首选项Java编译器。Java 7 也可以工作:

Eclipse Preferences -> Java -> Compiler

如果您的目标是 Android 5.0 及更高版本,则需要 Java 7 或更高版本。

安装多个 JDK 并尝试。


推荐