15 lambda android android-7.0-nougat
在基于此页面的android中,Java 8语言功能仅在api 24及以上版本中运行,或者你可以在api低于api 24使用,如果你能使用这个功能,那么android中最小的api版本支持这些功能
tkn*_*ell 19
更新: 从Android Studio 2.4开始,不推荐使用Jack编译器,Java 8支持将集成到默认构建链中.某些Java 8功能在任何API级别都可用,有些仍然限于API> = 24,请参阅:
https://developer.android.com/studio/preview/features/java8-support.html
老答案:
在Java的八大特点可从API级别9点开始,但只有当你使用Android 2.1工作室(预览)和Androidñ预览版SDK
http://android-developers.blogspot.de/2016/03/first-preview-of-android-n-developer.html
改进的Java 8语言支持 - 我们很高兴将Java 8语言功能引入Android.使用Android的Jack编译器,您现在可以在Android版本上使用许多流行的Java 8语言功能,包括lambdas等,早在Gingerbread中.新功能有助于减少样板代码.例如,lambda可以在提供事件侦听器时替换匿名内部类.一些Java 8语言特性 - 如默认和静态方法,流和功能接口 - 现在也可在N及以上版本中使用.有了Jack,我们期待在保持向后兼容性的同时更紧密地跟踪Java语言.
更新
Jack工具链已弃用.如果您使用Android插件版本2.4.0-alpha4(或更高版本),Java8功能将进入标准工具链.更多信息在这里.
原始答案 除了lambdas之外,API N和更新版本提供了Java 8功能.Lambdas被反向移植(使用匿名类)回到姜饼.
Android N基于匿名类的lambda表达式实现.这种方法允许它们在早期版本的Android上向后兼容和执行.
要测试这个,您需要安装Android Studio 2.1,安装JDK 8和最新的构建工具.
示例构建配置:
android {
compileSdkVersion 23
buildToolsVersion "24.0.0 rc1"
defaultConfig {
minSdkVersion 23
targetSdkVersion 23
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9880 次 |
| 最近记录: |