1. 简介
Lint 是Android Studio 提供的 代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一些解决方案,而且这个过程不需要我们手写测试用例。
我个人极力推荐,方便无需下载集成Android Studio自带,准确确定位置,布局优化,冗余资源,没使用资源,未在清单文件注册Activity,版本兼容,权限问题,容易引发的问题,等等都 会以警告的形式出现,非常棒ing~
2. Lint 工作方式简单介绍
Lint 会根据预先配置的检测标准检查我们 Android 项目的源文件,发现潜在的 bug 或者可以优化的地方,优化的内容主要包括以下几方面:
Correctness:不够完美的编码,比如硬编码、使用过时 API 等
Performance:对性能有影响的编码,比如:静态引用,循环引用等
Internationalization:国际化,直接使用汉字,没有使用资源引用等
Security:不安全的编码,比如在 WebView 中允许使用 JavaScriptInterface 等
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赖修改等级
需要重点关注红色框内的警告
5. 自动删除查找出来的无用资源文件
代码迭代版本一多,很容易会遗留一些无用的代码、资源文件,我们可以使用 Lint 进行清除。
点击 Android Studio 工具栏 -> Analyze -> Run Inspection By Name..,输入要检测的内容,这里是无用资源:
然后选择 Unused resources,再选择范围后就开始检测。注意,右边有解决方法:Remove All Unused Resources,放个大图显眼一点:
点击后,boom ,从此世界清静了。