Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8

Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8

如 developer.android 网站所述

"The Jack toolchain is deprecated, as per this announcement. If your project depends on Jack, you should migrate to using Java 8 support built into Android Studio’s default toolchain."

我需要使用 lambda 表达式,所以我禁用了 jack 选项,但是当我编译我的代码时,出现以下错误

Error:Jack is required to support Java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8. 

下面是我的build.gradle文件的截图

检查 com.android.tools.build:gradle.

的版本

我有同样的错误。我的解决方案:

  • 设置com.android.tools.build:gradle:3.0.0-alpha6
  • 将 kotlin 更新为 1.1.3-2
  • 添加到存储库 google()

我正在使用 AS 3.0 Canary 6。

您应该执行以下操作:

  • 将您的 Android Studio 更新到 3.0.1.

  • 升级你的gradle'com.android.tools.build:gradle:3.0.1'

  • 确保你的 buildToolsVersion 至少是 26.0.2.

之后您可以删除 Jack 选项并使用受支持的 Java 8 个功能。