错误:Jack需要支持java 8语言功能

hum*_*zed 136 android android-studio android-gradle-plugin jack-compiler

当我尝试通过添加获得android studio 2.1和android N SDK后更新我的android项目以使用Java 8

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)

我有这个错误

错误:Jack需要支持java 8语言功能.启用Jack或删除sourceCompatibility JavaVersion.VERSION_1_8.

我该怎么办?

小智 321

错误:Jack需要支持java 8语言功能.启用Jack或删除sourceCompatibility JavaVersion.VERSION_1_8.

错误说你必须启用杰克.

要在Android项目中启用对Java 8的支持,您需要build.gradle像这样配置文件

android {
  ...


  compileSdkVersion 23
  buildToolsVersion "24rc2"
  defaultConfig {
  ...
    jackOptions {
      enabled true
    }
  }

  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
} 
Run Code Online (Sandbox Code Playgroud)

  • 添加retroLambda为我解决了这个问题.https://github.com/evant/gradle-retrolambda (8认同)
  • 幸运的是,我们不会在几周内需要这个.Android将完全支持Java 8语言功能.杰克将被弃用.更多详细信息:https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html (6认同)
  • 添加以下行后,我得到错误:配置项目':app'时出现问题. (5认同)
  • 这是否适用于注释处理,还是会破坏编译? (2认同)