【问题标题】:Ignoring library project with Android lint on the command line在命令行上使用 Android lint 忽略库项目
【发布时间】:2013-08-25 09:38:57
【问题描述】:

我在 Jenkins 中使用 Android lint,需要忽略我的团队未修改的库项目(特别是 Action Bar Sherlock),以便我们可以从 Android lint 获得有用的结果。目前我正在从命令行启动 lint 并将结果保存到一个 XML 文件中,然后 Jenkins 可以读取该文件。我似乎不能做的是忽略图书馆项目。在 Eclipse 中,您可以显式禁用对库项目的扫描,但我无法确定是否有相应的命令行参数。

我为这个问题想出了一些不同的解决方法,但没有一个是理想的。我正在使用 lint 22.0.5。谢谢。

【问题讨论】:

  • 你有没有找到一个好的解决方案?

标签: android jenkins continuous-integration lint


【解决方案1】:

我会首先尝试比较 lint 配置文件在被 eclipse 修改时,看看你是否知道 eclipse 做了什么。也许有一种方法可以修改 lint.xml 文件看看实现你想要的this 或that

换句话说,备份你的项目,修改你的eclipse配置,保存并与备份比较。

这里是 a modified lint.xml,可能对您的特定情况有用,但它看起来像是手动完成的。

如果您没有发现任何有用的信息,另一种解决方案是过滤掉来自这些路径的日志:

Android Lint report for my project only, excluding library projects?

【讨论】:

    【解决方案2】:

    把这个放在项目根目录下的lint.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <lint>
        <issue id="all">
            <ignore path="path_to_library/**" />
        </issue>
    </lint>
    

    【讨论】:

      【解决方案3】:

      这就是我使用 Jenkins 和 Gradle 的方式:

      • 配置 Jenkins 构建后操作“发布 Android Lint 结果”以仅获取主项目的 lint-results.xml。默认为 **/lint-results.xml,包括库项目的 lint 结果。
      • 在库项目的 build.gradle 文件中设置 abortOnError false 以忽略那里的 lint 错误。

      【讨论】:

        猜你喜欢
        • 2012-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-23
        • 2015-12-14
        • 1970-01-01
        • 2013-02-05
        相关资源
        最近更新 更多