【问题标题】:Source/Target compatibility list in Android StudioAndroid Studio 中的源/目标兼容性列表
【发布时间】:2017-05-22 09:05:13
【问题描述】:

我正在更新我的 Android 工作室、Android 构建工具、gradle 版本和 JDK 版本。尝试切换到 JDK 1.8 我想知道为什么 Android Studio 下拉列表中的“目标兼容性”和“源兼容性”(在模块设置中)的列表只包含值 1.6 和 1.7。这是否意味着我忘记安装/更新任何东西或忘记更改某些路径?

我知道我可以手动输入 1.8,但问题是缺少 1.8 值是否意味着我的设置可能不正确?

【问题讨论】:

  • JDK路径是否设置为1.8?
  • 我刚发现不是,但更改后下拉菜单还是一样。

标签: java android android-studio


【解决方案1】:

源和目标兼容性与安装的 JDK 无关。您的源代码仍将编译为 Android 使用的 Java 6/7/8 字节代码。 (cmet中的人,请指出技术上的不准确之处,谢谢。)

源代码和目标代码的兼容性会影响您可以在源代码中使用的语言结构。例如。

  • 当面向 Java 6 时,您不能使用菱形运算符,
  • 当面向 Java 7 时,您不能使用 lambda 等。

Android Studio 3.0 和随附的 Gradle 构建插件(目前正在开发中)将支持开箱即用的 Java 8 语法。在那之前你可以使用retrolambda。或者直接切换到Kotlin

当然,您至少需要 JDK 8 才能以 Java 8 为目标。

【讨论】:

  • 您可以将一些 Java 8 功能与 jack 编译器一起使用,例如lambda 表达式。
  • 是的,它现在已被弃用。但您仍然可以使用它,并且开发团队承诺使用 jack 工具链平稳过渡到 AS 3.0。
猜你喜欢
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 2017-10-02
相关资源
最近更新 更多