Android 抑制特定属性的 UnusedAttribute 警告

Android Suppress UnusedAttribute Warning For Specific Attributes

在我的整个项目中,"UnusedAttribute" 有一些 linter 警告。


我知道我可以抑制所有属性的警告。

tools:ignore="UnusedAttribute"

lintOptions {
    disable 'UnusedAttribute'
}

但是,我只想抑制特定属性的警告。我尝试执行以下操作但没有成功。

tools:ignore="UnusedAttribute:elevation"

lintOptions {
    disable 'UnusedAttribute:elevation'
}

我在文档中找不到任何关于此的提及 here, here, here, or here。有什么办法吗?

为此,您已通过 lint.xml 配置 lint 并使用正则表达式 see docs for details。一步步来吧。

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

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

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

其次,使用正则表达式排除特定属性。这是 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" 是属性首次出现的版本。