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
这里写图片描述
lint –show
这里写图片描述

2.自定义规则

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

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

在java文件中使用@SuppressLint关键字屏蔽某些检查
这里写图片描述
在xml文件里使用tools:ignore属性屏蔽某些检查
这里写图片描述
在项目工程根目录下编写Lint.xml文件,制定规则的作用域、级别等信息。
这里写图片描述

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

需要继承IssueRegistry和Detector。继承IssueRegistry注册自定义的issue;继承Detector实现自定义探测器。实例代码如下:
这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值