【问题标题】:How to ignore complete folders for lint checking with gradle?如何忽略使用 gradle 进行 lint 检查的完整文件夹?
【发布时间】:2014-02-02 17:52:41
【问题描述】:

我有一个包含生成代码的 Android 项目。此代码中有一些 lint 违规,我不想在 lint 报告中显示,因为我们不会手动修复此代码问题。

是否有可能在 lint 检查中排除文件夹?

【问题讨论】:

标签: android gradle lint


【解决方案1】:

执行此操作的正确方法是将以下块添加到您的应用程序的lint.xml(此文件默认放置在您的应用程序模块的根目录):

<issue id="all">
    <ignore path="build" />
</issue>

这将指示 Lint 忽略指定文件夹的所有问题。如果您的应用模块文件夹中没有lint.xml,请创建一个包含以下内容的文件夹:

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

【讨论】:

  • 它适用于 lint lint 向 Error: Unknown issue id "all", found in ..../app/lint.xml [LintError] 投诉
  • 正如@AlexanderSkvortsov 所说,任何人都知道如何使它与all 一起工作?
  • @AlexanderSkvortsov 这是commit 在 3.2.0 中引入的错误。请为相关的 Android 问题加注星标:issuetracker.google.com/issues/116677290
  • 这应该在 AS 3.3 和 3.4 中再次起作用:Fixed by Change-Id: Ibe1154541bf4e1fce821030e10753bef28046790 for 3.4 and cherrypick to 3.3 in progress.issuetracker.google.com/issues/116677290#comment4
【解决方案2】:

将内容如下添加到您的项目“lint.xml”文件中:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <ignore path="build" />
</lint>

例如忽略该项目的构建路径。

【讨论】:

  • 这似乎不适用于最新版本的 lint。我将 lint.xml 放在项目的根目录中(通常是 gradlew 二进制文件所在的位置),并将 app/build 添加到忽略路径中。我错过了什么吗?
  • 见下面@Idolon 的帖子
【解决方案3】:

我必须指定 issue id 以及被忽略的路径。 ignore 单独的路径不起作用。 http://tools.android.com/tips/lint-checks lint 检查示例:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <issue id="MissingTranslation">
        <ignore path="build"/>
    </issue>
</lint>

您可以找到问题 ID 列表here。 您的lint.xml 被放置在您的项目目录中。

例子:

./app/lint.xml

【讨论】:

    猜你喜欢
    • 2016-07-26
    • 2020-06-04
    • 2020-12-24
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多