android - 如何在库中使用 android 数据绑定(bind)

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

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

会产生如下错误:

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 在使用您的库的应用程序中工作,两者 都需要在其 build.gradle 文件中启用 DataBinding:

dataBinding {
    enabled = true
}

关于android - 如何在库中使用 android 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38442332/

相关文章:

android:windowSoftInputMode ="stateAlwaysHidden|adjustPan"不适用于所有设备

gradle 插件 7.0.0-alpha15 删除了 Android isShrinkResources。如何收缩资源?

android - 需要使用Gradle版本2.10,即时运行无法在Android Studio上运行。我用2.10

linux - 为什么这些共享库不同?

android - 在 Android 布局中显示 3 个等高的可滚动 ListView

android - 居中的对话框标题名称

android - 我如何在android中的模式列表或网格中显示我的列表

Android studio自定义gradle启动命令

c - 为什么我在尝试创建共享对象时收到 gcc "undefined reference"错误?

dll - 软件库和框架开发中的符号是什么