概述
Lint是Android Studio提供的一个代码扫描工具,通过对代码进行静态分析,可以帮助开发者发现代码的质量问题和提出一下改进建议。
Lint工具可检查您的Android项目源文件是否包含潜在错误,以及在正确性、安全性、性能、易用性、便利性和国际化方面是否需要改进优化。
Lint的工作流程
应用源文件:源文件包含组成 Android 项目的文件,包括 Java 和 XML 文件、图标和 ProGuard 配置文件等。
lint.xml
文件:此配置文件可用于指定您希望排除的任何 Lint 检查以及自定义问题严重级别。
Lint工具:可以从命令行或在 Android Studio 中对 Android 项目运行此静态代码扫描工具。
Lint检查结果:可以在控制台或 Android Studio 的 Inspection Results 窗口中查看 Lint 检查结果。
- Correctness:正确性
- Security:安全性
- Performance:性能
- Usability:易用性
- Accessibility:便利性
- I18n:国际化
通过 Gradle 运行 Lint
在 Windows 上:
1
gradlew lint
在 Linux 或 Mac 上:
1
./gradlew lint
为特定构建变体运行
lint
任务,您必须大写变体名称并在其前面加上lint
前缀。1
gradlew lintDebug
Lint 工具完成其检查后,Lint 报告会提供两个路径,分别指向该报告的 XML 和 HTML 版本。
在Android Studio手动运行检查
Analyze >Inspect Code ,手动运行已配置的 Lint 和其他 IDE 检查。检查结果显示在 Inspection Results 窗口中。
通过 Gradle 配置 Lint 选项
1 | android { |
lint.xml
配置文件示例
1 | <?xml version="1.0" encoding="UTF-8"?> |
issue标签
:指定的一个检测规则,
id
:规则名
severity
:严重级别
ignore标签
:指定忽略检查的文件,或者匹配正则表达式
配置 Lint 对 Java 的检查
在 Java 代码添加 @SuppressLint
注解,来特别禁止 Lint 检查某个 Java 类或方法
示例1. 关闭对方法中NewApi
问题的检测
1 | "NewApi") ( |
示例2. 关闭类中ParserError
问题的检测
1 | "ParserError") ( |
示例3. 禁止检查 Java 文件中的所有 Lint 问题
1 | "all") ( |
配置 Lint 对 XML 的检查
使用tools:ignore
属性禁止 Lint 检查 XML 文件的特定部分,首先要在所在的xml文件添加命名空间
1 | xmlns:tools="http://schemas.android.com/tools" |
示例1. 忽略
1 | <LinearLayout |
示例2. 禁止检查多个问题,使用以逗号分隔的字符串列出要禁止检查的问题
1 | tools:ignore="NewApi,StringFormatInvalid" |
示例3. 禁止 Lint 检查 XML 元素中的所有问题
1 | tools:ignore="all" |
在Android Studio中查看和编辑检查配置文件
Android Studio 附带多种 Lint 及其他检查配置文件,可通过 Android 更新来更新此类配置文件。您可以原封不动地使用这些配置文件,也可以编辑它们的名称、描述、严重级别和范围。您还可以激活和停用全部配置文件组或一组配置文件中的个别配置文件。
选择 Analyze > Inspect Code。
在 Specify Scope 对话框中的 Inspection Profile 下面,点击 More。
此时将显示 Inspections 对话框,其中列出了一系列支持的检查及其描述。
选择 Profile 下拉列表,在 Default (Android Studio) 和 Project Default(活动项目)检查项目之间切换。
在左侧窗格的 Inspections 对话框中,选择最上面的配置文件类别,或展开一个组,选择特定配置文件。选择一种配置文件类别后,您可以将此类别中的所有检查项目当作一个检查项目进行编辑。
选择 Manage 下拉列表,以复制、重命名、将描述添加至、导出和导入检查项目。
操作完成后点击 OK。