在网上搜索,还不清楚Android开发是否支持Java 8。
在我下载/安装Java 8之前,能不能有人给我指出任何“官方”文档,说Java 8是或不支持Android开发。
在网上搜索,还不清楚Android开发是否支持Java 8。
在我下载/安装Java 8之前,能不能有人给我指出任何“官方”文档,说Java 8是或不支持Android开发。
当前回答
我在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的知识,这个答案提供了很多细节。
其他回答
容易记住的答案
在android studio中,单击项目结构图标,然后进入模块/应用程序,然后将源兼容性和目标兼容性更改为1.8,然后按Ok。
我们可以使用Java 8使用:
在构建。gradle (Project: myProject)添加以下内容 类路径的me.tatarka: gradle-retrolambda: x.x。x ' / / x.x。X是最新版本 在构建。gradle (Module: myModule 应用插件:'me.tatarka.retrolambda' compileOptions { sourceCompatibility JavaVersion。VERSION_1_8 targetCompatibility JavaVersion。VERSION_1_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
添加这一行到模块LVL构建等级
compileOptions { sourceCompatibility JavaVersion。VERSION_1_8 targetCompatibility JavaVersion。VERSION_1_8 }
点击此链接获取最新更新。使用Java 8语言特性
旧的答案
在Android N预览版中,Android支持Java 8的有限功能,请参阅Java 8语言功能
要开始使用这些功能,你需要下载并设置Android Studio 2.1和Android N预览SDK,其中包括 要求杰克工具链和更新的Android插件为Gradle。如果你 还没有安装Android N预览SDK,请参见设置开发 Android N。
支持Java 8语言特性和api
Android目前不支持所有Java 8语言特性。 但是,在开发应用程序时,现在可以使用以下功能 针对Android N预览版:
默认和静态接口方法
Lambda表达式(API级别23及以下也可用)
可重复的注释
方法参考(API级别23及以下也可用)
还有一些额外的Java 8功能,Android支持,你可以看到完整的Java 8语言功能细节
更新
注意:Android N基于lambda表达式的实现 匿名类。这种方法允许他们后退 兼容和可执行的早期版本的Android。测试 早期版本的Lambda表达式,记得去你的 构建。将“compileSdkVersion”和“targetSdkVersion”设置为 23或更低。
更新2
现在Android studio 3.0稳定版支持Java 8库和Java 8语言特性(没有Jack编译器)。