[尝试在将Gradle插件从3.5.1迁移到3.5.2时发生数据绑定错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[尝试在将Gradle插件从3.5.1迁移到3.5.2时发生数据绑定错误相关的知识,希望对你有一定的参考价值。
我的目标是将android gradle插件从3.5.1迁移到3.5.2。
但是,一旦执行此操作,构建失败并显示以下错误:
error: cannot generate view binders java.lang.StackOverflowError
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:209)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)
它明确指出它与数据绑定有关,但是stacktrace确实很差。我尝试应用其他编译器参数来获得其他一些见识,但是没有运气。
有人遇到过同样的问题吗?有提示吗?
答案
看起来像AGP 3.5.2在您在xml文件中调用ObservableField.get()
后失败。请在[Google Issues Tracker]中查看this comment类似问题。
您可以尝试从代码库中完全删除.get()
使用,这是绝对安全的。
以上是关于[尝试在将Gradle插件从3.5.1迁移到3.5.2时发生数据绑定错误的主要内容,如果未能解决你的问题,请参考以下文章
更新到 android gradle 插件 3.5 后的 proguard 问题