我在整个项目中有一些关于"未使用属性"的linter警告。
- 属性
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'
}
我在这里、这里、这里或这里的文档中找不到任何提及这一点的内容。有什么办法可以做到这一点吗?
为此,您已通过 lint.xml
配置 lint 并使用正则表达式,有关详细信息,请参阅文档。让我们一步一步来。
首先,指定您将使用文件配置。你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"是属性首次出现的版本。