【问题标题】:Error:Data Binding does not support Jack builds yet错误:数据绑定尚不支持 Jack 构建
【发布时间】:2016-11-13 04:37:04
【问题描述】:

我正在实施DataBinding,它运行良好,但不允许我使用jackOptions。它在构建时抛出错误Data Binding does not support Jack builds yet

这是我的build.gradle

android {


   defaultConfig {
       ...

       dataBinding {
           enabled true
       }

       jackOptions {
           enabled true
       }
   }

   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }
}

【问题讨论】:

  • 似乎:数据绑定不支持 Jack 构建
  • @Selvin 可能是,我只是想确认我是否做错了什么。
  • 我们正在努力...
  • @RRR 你能检查一下你的禁用jackOptions { enabled flase }是否有效。
  • 我可以确认,在我的 Android Studio 2.2 Beta 安装上,它还不能与 DataBinding 一起使用

标签: android data-binding android-databinding android-jack-and-jill


【解决方案1】:

从 gradle:2.2.0-alpha5 开始,Jack 构建还不兼容 DataBinding。

如果你想在 Java 8 中使用数据绑定,你可以使用retrolambda

【讨论】:

  • retrolambda 不做数据绑定是吗?我从未使用过它,但它似乎超出了 lambda 支持库的范围。
  • Retrolambda 与数据绑定无关。
  • 虽然不相关,但 Retrolambda 与数据绑定兼容。
  • 那不会是 Java 8,只是 Java 8 的模拟功能(而且那些 lambda 的性能成本更高)
【解决方案2】:

从 yigit 的评论可以看出,由于他和 George 是 DataBinding 的项目成员,因此该功能仍在开发中。

我们正在努力……yigit

我也发现这个问题已经报告Issue 210615: Databinding with Jack compiler

更新

2.3 will allow you to use data binding with jack but it still has limitations

【讨论】:

  • 嗯...仍然不起作用。预计可以发布了吗?
【解决方案3】:

Google 会将对 Java 8 语言功能的支持直接添加到 当前的 javac 和 dx 工具集,并弃用 Jack 工具链。

看看这个,Android 上 Java 8 语言功能支持的未来

https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html

更新

Android 构建系统现在支持 Java 8 语言功能

昨天,我们发布了 Android Studio 2.4 Preview 6. Java 8 语言 Android 构建系统现在支持 javac/dx 中的功能 编译路径。 Android Studio 的 Gradle 插件现在对 Java 8 进行脱糖 类文件转换为与 Java 7 兼容的类文件,因此您可以使用 lambdas, Java 8 的方法引用和其他特性。

来源:https://android-developers.googleblog.com/2017/04/java-8-language-features-support-update.html

【讨论】:

  • 感谢分享,很有用。
  • 好的,但是预览版 Android Studio 构建对于生产项目的使用风险太大。我们需要等待 2.4 稳定。顺便说一句,Jack 有时非常慢,编译需要很长时间
猜你喜欢
  • 1970-01-01
  • 2019-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-05
  • 2018-05-29
  • 1970-01-01
  • 2019-10-10
相关资源
最近更新 更多