在网上搜索,还不清楚Android开发是否支持Java 8。
在我下载/安装Java 8之前,能不能有人给我指出任何“官方”文档,说Java 8是或不支持Android开发。
在网上搜索,还不清楚Android开发是否支持Java 8。
在我下载/安装Java 8之前,能不能有人给我指出任何“官方”文档,说Java 8是或不支持Android开发。
当前回答
点击此链接获取最新更新。使用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编译器)。
其他回答
更新2019/10/28
Android Studio 4.0解决了这个问题。
D8编译器在编译时将Java 8原生api的反向端口补丁到APK中,你的应用程序将在运行时使用该代码,而不是原生api。这个过程被称为脱糖。
是的,Android现在支持Java 8 (24.1.17)
现在这是可能的
但是你需要让你的设备rom在java 1.8上运行,并启用“jackOptions”来运行它。 Jack是运行Java 8的新的Android编译器的名字
https://developer.android.com/guide/platform/j8-jack.html
将这些行添加到build_gradle
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Java 8似乎是Android studio 2.0的运行Java引擎, 但是经过我的检查,它仍然不接受java 8的语法,你现在不能从android studio中选择编译器。然而,如果你的android客户端需要函数式编程机制,你可以使用scala插件。
点击此链接获取最新更新。使用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编译器)。
Android Studio现在支持Java 8的一个子集。只需从下面的窗口进行源和目标兼容性调整:
文件——>项目结构
更多信息见下面的链接。
https://developer.android.com/studio/write/java8-support.html
添加这个配置版本。Gradle和同步Gradle:
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
// or
//sourceCompatibility 1.8
//targetCompatibility 1.8
}
}