【问题标题】:Java 8 in Android N PreviewAndroid N 预览版中的 Java 8
【发布时间】:2016-03-29 07:54:17
【问题描述】:

官方的 Java 8 announcement for Android N Preview 说如下:

借助 Android 的 Jack 编译器,您现在可以使用许多流行的 Java 8 Android 版本上的语言功能,包括 lambda 等 远在姜饼。 (...) 一些 Java 8 语言特性 — like 默认和静态方法、流和功能接口 — 是 现在也可以在 N 及更高版本上使用。

我正在使用minSdkVersion 15 的以下 gradle 配置在一个小项目中尝试一些 Java 8:

android {
    compileSdkVersion 'android-N'
    buildToolsVersion '24.0.0 rc1'

    defaultConfig {
        applicationId "org.sergiiz.thermometer"
        minSdkVersion 15
        targetSdkVersion 'N'
        versionCode 1
        versionName "1.0"
        jackOptions{
            enabled true
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
   //...
}

但部署目标选择器显示minSdk(API23, N preview)。这是预期的行为吗?

是否有可以追溯到 Gingerbread 的 Java 8 功能/包列表,您是否知道在 API

【问题讨论】:

  • 我无法帮助您进行 Gradle 设置(我自己还没试过)。但是,Android N 之前支持的 Java 8 功能列表很简单:它只是 lambda 表达式/方法引用——据我所知,没有别的。

标签: android android-gradle-plugin android-7.0-nougat android-n-preview


【解决方案1】:

但部署目标选择器显示 minSdk(API23, N preview)。这是预期的行为吗?

是的。 N Developer Preview 设置为仅在 N 设备上运行。您的 targetSdkVersion 'N' 行隐含地将您的 minSdkVersion 更改为 N

您知道在 API

在 Android N 退出“开发者预览”模式或 Android 工具团队提供特定的非 N 指令之前,我建议您不要担心旧设备上的 Java 8 功能。

【讨论】:

    猜你喜欢
    • 2016-07-06
    • 2018-08-16
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    相关资源
    最近更新 更多