【腾讯TMQ】管中窥豹:结合NewApi实践来了解Lint代码扫描

本文介绍了Android Lint工具,它是Android的静态代码分析工具,用于提高代码质量。通过分析NewApi规则,解释了如何检查高版本API调用以确保版本兼容性。文章详细阐述了Lint规则的实现原理,包括Issue、Detector、Implementation和Registry,并讨论了自定义Lint规则的可能性。最后,提出了自定义规则的应用场景和学习资源。
摘要由CSDN通过智能技术生成

导读

lint是著名的C/C++语言静态代码分析工具之一,Android Lint顾名思义,针对Android的静态代码分析工具,能够对Android项目中潜在的bug、可优化的代码、安全性、性能、可用性、可访问性、国际化等进行检查。

在Android SDK Tools 16及更高的版本中,Lint工具会自动安装。通过对Android工程源代码等进行扫描检查,可发现潜在的问题,更好的提升代码质量。Android Lint提供了命令行方式执行,也与IDE(如Eclipse、Android Studio)集成提供了IDE图形界面,单独输出的xml和html结果报告可以提供更丰富的信息。

lint扫描规则初览

1. NewApi规则说明

初步扫描手管代码得到一份html的报告,结果分类比较清晰,但有2000+error,12000+warning,,吓的手一抖直接关掉了。。

为了降低大家的心理门槛,我们从手管已经接入Daily的NewApi规则来看看lint是怎么工作的

最简单的,先来看看NewApi规则说明:

可以对NewApi规则有个大致的了解,扫描App中的Android Api,对起始版本大于AndroidManifest.xml中声明的minSdkVersion,即未加判断调用的高版本Api进行提示。没有判断调用不支持的Api会怎么样呢?低版本机器在执行到该代码段时就会抛出NoSuchMethodException异常crash。

2. NewApi扫描结果

再来看看NewApi的扫描结果:

可以看到检查结果中的issueid、summary、priority、severity、category、explanation和说明中是一致的,message中有更详细的代码段接口版本说明,location字段中给出了对应的代码位置。

Issueid:规则名,唯一;

Summary:规则的简单概述;

Priority:优先级,1~10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值