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

时间:2017-07-10 19:32:17

标签: android android-studio lambda java-8 android-studio-2.3

正如developer.android网站中提到的那样

  

“Jack工具链已被弃用,根据此公告。如果您的   项目取决于Jack,您应该迁移到使用Java 8支持   内置于Android Studio的默认工具链中。“

enter image description here

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

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

以下是我的build.gradle文件的屏幕截图

enter image description here

2 个答案:

答案 0 :(得分:19)

检查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。

答案 1 :(得分:4)

您应该执行以下操作:

  • Android Studio 更新为 3.0.1 版本。

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

  • 确保 buildToolsVersion 至少 26.0.2

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