1. 简介

Lint 是Android Studio 提供的 代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。
我个人极力推荐,方便无需下载集成Android Studio自带,准确确定位置,布局优化,冗余资源,没使用资源,未在清单文件注册Activity,版本兼容,权限问题,容易引发的问题,等等都 会以警告的形式出现,非常棒ing~

2. Lint 工作方式简单介绍

Lint 会根据预先配置的检测标准检查我们 Android 项目的源文件,发现潜在的 bug 或者可以优化的地方,优化的内容主要包括以下几方面:

Correctness:不够完美的编码,比如硬编码、使用过时 API 等

Performance:对性能有影响的编码,比如:静态引用,循环引用等

Internationalization:国际化,直接使用汉字,没有使用资源引用等

Security:不安全的编码,比如在 WebView 中允许使用 JavaScriptInterface 等

android ls命令详解 android lint_去重

3. 使用

在Android Studio的工具栏中找到 Analyze,在找到 Inspect Code,然后可以选择创建一个自己的Lint,在Custom Scope 后面的···中创建一个自己的 Lint,然后选择 Project,选中app文件点击右侧 Include Recursively把整个app文件添加至检查中,然后OK~OK~就开始了

默认是检查整个项目,我们可以点击 Custom scope 自定义检查范围。
分别有:
Project Files:所有项目文件
Project Production Files:项目的代码文件
Project Test Files:项目的测试文件
OpenFiles:当前打开的文件
Module ‘app’:主要的 app 模块
Current File:当前文件

在添加自己的Lint的时候点了加号自后会弹出自定义范围选择框,默认是空的,我们可以点击左上角的“+”号新增一个检查范围:
Local:只能当前项目使用
Shared:其他 Android Studio 项目也可以使用
右边的四个按钮表示要操作的类型:
Include:包括当前文件夹内的文件,但不包括他的子文件夹
Include Recursively:包括当前文件夹以及它的子文件夹内所有的文件夹,递归添加
Exclude:移除当前文件夹,不包括子文件夹
Exclude Recursively:移除当前文件夹及所有子文件夹

4. 团队中建立代码规范利器:提升、降低问题的等级

Lint的警告严重程度有几种

Unused Entry:没有使用的属性,灰色,很不起眼
Typo:拼写错误,绿色波浪下划线,也不太起眼
Server Problem:服务器错误?好像不是
Info:注释文档,绿色,比较显眼
Weak Warning:比较弱的警告,提示比较弱
Warning:警告,略微显眼一点
Error:错误,最显眼的一个
可以通过打开 Preferences/Settings,搜索 Inspections,会出现 Lint 的检测配置页面,右侧的type赖修改等级

需要重点关注红色框内的警告

android ls命令详解 android lint_Lint_02

5. 自动删除查找出来的无用资源文件

代码迭代版本一多,很容易会遗留一些无用的代码、资源文件,我们可以使用 Lint 进行清除。

点击 Android Studio 工具栏 -> Analyze -> Run Inspection By Name..,输入要检测的内容,这里是无用资源:

android ls命令详解 android lint_Lint_03


然后选择 Unused resources,再选择范围后就开始检测。注意,右边有解决方法:Remove All Unused Resources,放个大图显眼一点:

android ls命令详解 android lint_Lint_04


点击后,boom ,从此世界清静了。

android ls命令详解 android lint_Android Lint_05