我正在实施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
}
}
答案 0 :(得分:9)
从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
答案 1 :(得分:2)
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语言 现在,javac / dx中的Android构建系统支持这些功能 编译路径。 Android Studio的Gradle插件现在不再使用Java 8了 类文件到Java 7兼容的类文件,所以你可以使用lambdas, 方法参考和Java 8的其他功能。
来源:https://android-developers.googleblog.com/2017/04/java-8-language-features-support-update.html
答案 2 :(得分:0)
截至gradle:2.2.0-alpha5,Jack版本尚未与DataBinding兼容。
如果要使用与Java 8的数据绑定,可以使用retrolambda。