Android为特定属性抑制UnusedAttribute警告

时间:2017-05-12 17:02:39

标签: android android-lint

我为" UnusedAttribute"提供了一些短信警告。整个项目。

  • 属性elevation仅用于API级别21及更高级别(当前最小值为16)
  • 属性breakStrategy仅用于API级别23及更高级别(当前最小值为16)
  • 属性hyphenationFrequency仅用于API级别23及更高级别(当前最小值为16)
  • 属性letterSpacing仅用于API级别21及更高级别(当前最小值为16)

我知道我可以取消所有属性的警告。

tools:ignore="UnusedAttribute"

lintOptions {
    disable 'UnusedAttribute'
}

但是,我只想抑制特定属性的警告。我试图做以下事情但没有成功。

tools:ignore="UnusedAttribute:elevation"

lintOptions {
    disable 'UnusedAttribute:elevation'
}

我无法在文档herehereherehere中找到任何相关内容。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:5)

为此,您已通过lint.xml配置lint并使用regexp see docs for details。让我们一步一步走。

首先,指定您将使用文件配置。 你build.gradle

中有类似的东西
lintOptions {
    lintConfig file("../config/lint/lint.xml")
}

在你的情况下,路径会有所不同。

其次,使用regexp排除特定属性。以下是lint.xml

的示例
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <issue id="UnusedAttribute">
        <ignore regexp="elevation"/>
        <ignore regexp="breakStrategy"/>
    </issue>
</lint> 

另一种方法是为每次使用添加tools:targetApi="n"。其中“n”是属性首次出现的版本。