Android 抑制特定属性的 UnusedAttribute 警告
Android Suppress UnusedAttribute Warning For Specific Attributes
在我的整个项目中,"UnusedAttribute" 有一些 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 并使用正则表达式 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" 是属性首次出现的版本。
在我的整个项目中,"UnusedAttribute" 有一些 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 并使用正则表达式 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" 是属性首次出现的版本。