对 lint 文件进行配置
你可以在 lint.xml 文件中指定 Lint 检查的参数。如果你是手动创建的这个文件,就把它放到Android工程的根路径下面。如果你是在 Android Studio 中对 Lint 参数进行的配置的话,lint.xml已经自动为你创建并添加到 Android 工程了。
lint.xml 文件包含了一个封闭起来的<lint>父标记,里面包含了一个或者多个 <issue> 子元素。每个 <issue> 被指定了一个唯一的id属性值,它是由 Lint 来定义的。
1 2 3 4 | <? xml version = "1.0" encoding = "UTF-8" ?>
< lint >
</ lint >
|
通过在 <issue>标记中的severity 进行设置,你可以不让 Lint 对某个问题进行检查,或者修改一个问题的严重等级。
提示: 想要查看 Lint 工具所支持的问题的完整清单及其对应的问题ID的话,可以运行 lint --list 命令。
示例 lint.xml 文件
下面的示例显示了一个 lint.xml 文件的内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <? xml version = "1.0" encoding = "UTF-8" ?>
< lint >
< issue id = "IconMissingDensityFolder" severity = "ignore" />
< issue id = "ObsoleteLayoutParam" >
< ignore path = "res/layout/activation.xml" />
< ignore path = "res/layout-xlarge/activation.xml" />
</ issue >
< issue id = "UselessLeaf" >
< ignore path = "res/layout/main.xml" />
</ issue >
< issue id = "HardcodedText" severity = "error" />
</ lint >
|
在 Java 和 XML 源代码文件中配置 Lint 检查
你可以在 Java 和 XML 文件中将 Lint 检查禁用掉。
提示: 如果你使用的是 Android Studio 的话,你可以使用 File > Settings > Project Settings > Inspections 功能来管理对 Java 和XML 源代码文件的 Lint 检查。
在 Java 中配置 lint 检查
要在 Android 工程中将针对一个 Java 类或者方法的 Lint 检查禁用的话,向 Java 代码添加 @SuppressLint 注解就行了。
下面的示例展示了你如何才能够将 onCreate 方法中针对 NewApi 问题的 Lint 检查关闭掉。Lint 工具还是会在这个类的其它方法中对 NewApi 问题进行检查。
1 2 3 | @SuppressLint ( "NewApi" ) @Overridepublic void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
|
下面的示例显示了如何去关闭针对 FeedProvider类中的 ParserError 问题的 Lint 检查:
1 | @SuppressLint ( "ParserError" ) public class FeedProvider extends ContentProvider {
|
要限制在 Java 文件中针对所有 Lint 问题的检查,可以像下面这样使用 all 关键词:
在 XML 配置 lint 检查
你可以使用 tools:ignore 属性将针对 XML 文件特定区域的 Lint 检查禁用掉。为了让 Lint 工具认出这个属性,如下所示的命名空间必须被引入到你的 XML 文件中:
1 | namespace xmlns:tools="http://schemas.android.com/tools"
|
下面的示例展示了你如何才能够将针对一个 XML 布局文件中的 <LinearLayout>元素的 UnusedResources 问题的 Lint 检查禁用掉。ignore 属性会由在其中声明了该属性的父元素其下的子元素所继承。在这个实例中,对于子元素 <TextView> 而言, Lint 检查也是被禁用的。
1 2 3 4 5 6 | < LinearLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
tools:ignore = "UnusedResources" >
< TextView android:text = "@string/auto_update_prompt" />
</ LinearLayout >
|
要禁用多个问题,可以在一个逗号分隔的字符串中把问题都列出来。例如:
1 | tools:ignore="NewApi,StringFormatInvalid"
|
要在一个XML元素中限制对所有 Lint 问题的检查,可以像下面这样使用 all 关键词: