错误:需要Jack支持Java 8语言特性。要么启用Jack,要么删除sourceCompatibility JavaVersion.VERSION_1_8。

10

根据developer.android网站提到的内容

"如宣布所述,Jack工具链已被弃用。如果您的项目依赖于Jack,则应迁移到Android Studio默认工具链中内置的Java 8支持。"

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个回答

21

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


如果我们不使用AS的beta版本,这种情况下是否没有解决方法? - desgraci

4
你应该按照以下步骤进行操作:
  • Android Studio更新到版本3.0.1

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

  • 确保你的buildToolsVersion至少为26.0.2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接