错误:数据绑定尚不支持 Jack 构建

Posted

技术标签:

【中文标题】错误:数据绑定尚不支持 Jack 构建【英文标题】:Error:Data Binding does not support Jack builds yet 【发布时间】: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 一起使用 【参考方案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 有时非常慢,编译需要很长时间

以上是关于错误:数据绑定尚不支持 Jack 构建的主要内容,如果未能解决你的问题,请参考以下文章

MonoTouch 是不是有任何数据绑定支持?

控制错误的数据绑定

vuejs怎样实现列表中checkbox的双向绑定及初始化渲

如何解决 ORA-22284:django 中不支持重复的 LONG 绑定错误

核心数据:重新打开文档时出现奇怪的绑定错误。帮助?

02 vue 数据绑定与指令