【问题标题】:Can I use Android data-binding with Maven?我可以在 Maven 中使用 Android 数据绑定吗?
【发布时间】:2015-07-01 06:49:19
【问题描述】:

有一个beta release of a data-binding library by Google。根据文档

要使用数据绑定,需要 Android Plugin for Gradle 1.3.0-beta1 或更高版本。

在我的项目中,我需要改用 Maven。我正在尝试建立一个最小的初始项目。问题是新的数据绑定库以某种方式破坏了生成 R 类的 XML 布局文件的处理,并且可能需要一个 gradle 插件:android/databinding/tool/DataBinderPlugin

没有关于如何在没有 Gradle 的情况下处理此问题的信息。有谁知道还需要做什么才能使用 Maven 运行此程序?

【问题讨论】:

    标签: android maven gradle android-gradle-plugin


    【解决方案1】:

    自从大多数开发人员使用 gradle 以来,并没有为此付出太多努力。也就是说,我做了一些快速的开发来尝试启用您可以尝试的构建。您可以尝试运行一个类 android.databinding.tool.MakeCopy。它是一个命令行界面,可以将资源从一个或多个目录复制到目标目录,修改布局文件,并生成注释处理器所需的一些工件(xml 文件、源文件)。

    它应该包含在带有注释处理器的库中。您必须制定完整的类路径要求才能使其正常工作。正如我所说,我并没有花太多时间去实现它,因为我们没有任何客户。

    【讨论】:

    • 非常感谢您的提示。我在 SDK 的 sources/android-MNC 中找到了您的 MakeCopy 类,但 jcenter 提供的工件不包含它。是否有可以找到库的快照存储库,或者是否有任何关于如何从源代码构建的说明?
    • 我设法创建了一个 maven 插件,它可以做 MakeCopy 所做的事情。现在的问题仍然是在哪里放置输出文件(src-out-dir、xml-out-dir、res-out-dir)以便它们被拾取?我会接受你的回答,因为它已经对我有很大帮助了。
    • 也许描述它们的用途会有所帮助。必须在(您的应用程序的)java 编译阶段获取源输出目录以触发注释处理器。 XML out 目录放置在生成源的注释中,以便在编译的注释处理器阶段读取。目标 res dir 是资源将被复制到的位置,并且应该由 aapt 获取。即你的应用应该指向这个目录而不是原始(源)目录。
    • 再次感谢您的提示!它让我更进一步。我现在遇到的问题是获取 DataBindingUtil。它应该在我在 jcenter 中找不到的 com.android.databinding:library-1.0-rc1 中。我在 SDK 中找到了一个本地 maven 存储库,但它只包含 javadoc 和源代码。你能帮我理解这个库是如何添加到 gradle 构建中的吗?我用 Android Studio 做了一个测试项目,并在构建中间体中找到了它。它应该在构建过程中进行修改和编译,还是我遗漏了一些明显的东西?
    • 好的,现在可以了。我的第一个基于 Maven 的数据绑定应用程序正在我的手机上运行。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2018-10-23
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    相关资源
    最近更新 更多