【问题标题】:How to use android databinding within a library如何在库中使用 android 数据绑定
【发布时间】:2016-07-18 17:04:35
【问题描述】:

是否可以在库项目中使用 Android DataBinding?我确实创建了一个供其他人使用的库。在这个库中,我确实使用了 Android DataBinding。它确实在与模块相同的 Android Studio 项目上工作,但是当我将它安装到我的本地 maven 存储库时,由于找不到生成的文件,它无法编译。 当我检查 aar 文件时,我也找不到生成的数据绑定文件夹。

会产生以下错误:

error: cannot access HeaderToolBarBinding
class file for com.test.library.shared.databinding.HeaderToolBarBinding not found
 Consult the following stack trace for details.
 com.sun.tools.javac.code.Symbol$CompletionFailure: class file for    
 com.test.library.shared.databinding.HeaderToolBarBinding not found
 1 error

有没有人可以解决这个问题?

所以,

 - Shared project
 ---> App (include library by compile project(":shared")
 ---> Shared library (with DataBinding enabled)

 - Project other people
 ---> App (include library by Gradle dependecies)

【问题讨论】:

  • 我猜你需要在你的项目中启用 DataBinding 在你使用这个库的地方
  • hmmm 奇怪的行为,因为当我创建一个新项目时,包含它将工作的库。所以现在,我将创建一个新项目并复制粘贴所有内容。
  • @user447811 关注此博文code2concept.blogspot.in/2016/07/…

标签: android android-gradle-plugin shared-libraries android-databinding


【解决方案1】:

要使 DataBinding 在使用您的库的应用程序中工作,两者都需要在其 build.gradle 文件中启用 DataBinding:

dataBinding {
    enabled = true
}

【讨论】:

  • 为什么应用消费库需要开启数据绑定?你能解释一下原因吗?
【解决方案2】:

只需更新应用的 gradle 文件

dataBinding {
 enabled=true
 }

【讨论】:

    猜你喜欢
    • 2017-07-28
    • 2016-04-24
    • 2012-01-08
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多