Android静态代码扫描-自定义规则

Android提供了一个代码检查工具Android Lint,能够对项目中潜在正确性、安全性、性能、可用性、可访问性、国际化等问题和隐患进行检查,并生成html和xml两种文件的扫描报告。Android Lint提供了6大类共200多条检查项,并对每个检查项指定了严重等级。如果需要搭建一个企业内部的Android静态代码扫描工具,直接使用Android自带的Android Lint检查是不够的,会有大量的误报和漏报。因此需要根据企业内部的开发规范、技术框架特性和业务特点制定自己的Lint检查规则。

1. Android Lint原生检查规则

目前Android Lint的检查分为下面六大类:
-Correctness正确性检查
-Security 安全性检查
-Performance 性能检查
-Usability 可用性检查
-Accessibility 未使用到资源
-Internationalization 国际化检查

需要详细查看所有的检查项以及每项的描述、严重性等,可以通过如下命令:
lint –list
Android静态代码扫描-自定义规则_第1张图片
lint –show
Android静态代码扫描-自定义规则_第2张图片

2.自定义规则

下面重点说一下如何根据企业的代码规范、开发框架和业务特点定制lint检查规则。这个分两种,一种是对Android Lint自带的规则进行修改,一种是在现有规则基础上编写新的规则。

2.1 对现有Android Lint规则进行修改:

在java文件中使用@SuppressLint关键字屏蔽某些检查
Android静态代码扫描-自定义规则_第3张图片
在xml文件里使用tools:ignore属性屏蔽某些检查
Android静态代码扫描-自定义规则_第4张图片
在项目工程根目录下编写Lint.xml文件,制定规则的作用域、级别等信息。
Android静态代码扫描-自定义规则_第5张图片

2.2 在现有Andorid Lint规则的基础上编写新的规则

需要继承IssueRegistry和Detector。继承IssueRegistry注册自定义的issue;继承Detector实现自定义探测器。实例代码如下:
Android静态代码扫描-自定义规则_第6张图片

Android静态代码扫描-自定义规则_第7张图片

你可能感兴趣的:(移动开发,android,代码扫描)