在网上搜索,还不清楚Android开发是否支持Java 8。

在我下载/安装Java 8之前,能不能有人给我指出任何“官方”文档,说Java 8是或不支持Android开发。


当前回答

添加这一行到模块LVL构建等级

compileOptions { sourceCompatibility JavaVersion。VERSION_1_8 targetCompatibility JavaVersion。VERSION_1_8 }

其他回答

Android使用的Java是Java 6的分支。

从Android SDK版本19开始,您可以通过这样做来使用Java 7特性。目前还没有完全支持Java 8。

简单的方法

你可以为android项目启用java 1.8支持。

开放式项目结构 按Ctrl + Shift + Alt + S 或文件>项目结构 如图所示,在项目结构对话框中将Source Compatibility和Target Compatibility更新为1.8(单击File > Project Structure)。

或者你可以使用gradle

 android {
   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }

同步项目。就是这样!

注意:Java 1.8支持可用于Android Studio 3.0.0或更高版本。有关进一步阅读,请参阅文档。

在2019年最新的Android Studio 3.4+上,上述所有解决方案似乎都不起作用。

我想出了一个完美的和最新的解决方案,将您的Android项目迁移或升级到Java 8。

解决方案: 点击文件->项目结构->模块->属性选项卡。 将源兼容性和目标兼容性更改为1.8 (Java 8)

当我在大约2年前问这个问题时,答案确实是“官方的”否定的,但是正如ekcr1的答案所指出的那样,如果您使用retrolamba,您可以获得最受期待的特性之一(lambdas)。当时我仍在使用eclipse,因为Android Studio处于“预览”模式,所以我从未走上这条道路。

今天,我认为“官方”的答案仍然是否定的,虽然retrolamba看起来仍然是一个不错的选择,但对于那些愿意走一条有点“非官方”路线的人来说,还有另一个选择,那就是Kotlin。

今天Kotlin达到了1.0.0。对于那些不熟悉Kotlin的人,更多的信息可以在他们的网站上找到:

https://kotlinlang.org

或者观看Jake Wharton的演讲视频

https://www.youtube.com/watch?v=A2LukgT2mKc

我在Stack Overflow上对一个类似的问题写了一个类似的答案,但这里是答案的一部分。

Android Studio 2.1:

新版Android Studio(2.1)支持Java 8特性。以下是Android开发者博客文章的摘录:

... Android Studio 2.1版本包括对新的Jack编译器的支持和对Java 8的支持。 ... 在使用N Developer Preview进行开发时,要使用Java 8语言特性,您需要使用Jack编译器。新建项目向导[文件→新建→项目]为目标N的项目生成正确的配置。


在Android Studio 2.1之前:

Android还不支持Java 1.8(它只支持1.7),所以你不能使用Java 8的特性,比如lambdas。

这个答案提供了更多关于Android Studio兼容性的细节;州:

如果你想在Android中使用lambdas (Java 8的主要特性之一),你可以使用gradle-retrolamba

如果您想了解更多关于使用gradle-retrolambda的知识,这个答案提供了很多细节。