项目规范性检测工具Lint
项目规范性检测工具lint.bat
一、Lint基本概念介绍
Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题。Android Lint提供了命令行方式执行,还可与IDE(如Eclipse)集成,并提供了html形式的输出报告。
由于Android Lint在最初设计时就考虑到了independent于IDE,所以它可以很方便的与项目中的其他自动系统(配置/ Build / 测试等)集成。Android Lint主要用于检查以下这些错误:
当然Android Lint远远不只检查以上列出的8中错误,这里不一一给出,想了解更多的小伙伴可以参考相关文档。
在Eclipse中可以在菜单Window->Preference->“Lint Error Checking”中设置规则的检查级别,如图1所示。

点开界面上的Severity下拉箭头,可以看到Lint的检查级别从高到低分别是:
Default
Fatal
Errro
Waring
Information
Ingore(即不检查)
二、Lint命令行使用方法
命令行的操作,自然是先从路径说起了。
Lint的命令名称为lint.bat,完整路径为SDK安装目录下的tools文件夹中,比如我的为:“E:\Android\Android Eclipse\sdk\tools\lint.bat”。为了以后能够快速使用该命令,建议将路径“E:\Android\Android Eclipse\sdk\tools”加入系统环境变量中。
常规的用法格式为:lint.bat Project_Full_Path --xml Project_Result.xml --html Project_Result.html。其中:
Project_Full_Path为项目完整的路径名,也可以先定位到项目上一级目录然后在此写上项目名即可。如先定位于目录“E:\Android\Project”,工程名为LoginUMQQ,那么具体的命令为:lint.bat LoginUMQQ --xml LoginUMQQ_Result.xml --html LoginUMQQ_Result.html。
--xml和--html指定项目检测内容的输出格式,而Project_Result.xml和Project_Result.html为对应的结果输出文件。
一般来说,项目越大,检测过程耗时越长,不过速度是非常快的。下面给出检测命令及结果图:

此时,在指定目录下就可以看到生成的文件了:

这里说明一下,文件夹LoginUMQQ_Result_files中给出了error(红色圆形感叹号)、warning(灰色三角形感叹号)、run(一般不用理会)的图标,还有一个css格式文件。如下图:

通过这三个图标在html文件中浏览检测结果时可以清楚地知道某条信息是对应哪个类别,打开html文件后,有各种信息的分类和数目:

以图中2条未使用的属性为例(UnusedAttribute),直接点击会跳转到对应说明:

可以发现,Lint工具真的非常给力。对于未使用的属性资源,细化到了真实的代码(包括目录、文件名、代码块)。当然,经过测试,检测结果中的其他资源也类似地方便定位与修改。注意图中下半部分给出的解释信息,分析结果还会给出warnings或errors的修改优先级,数字越大,优先级越高,最高为10;最后一段会针对当前的警告信息做一个详细的解释,还包括推荐做法。
虽然,检测结果中的错误并不等同于Eclipse等工具在进行工程编译时的错误(会让程序终止运行),但是根据检测信息对项目进行响应的修改绝对是一个好习惯。这样做的好处有很多,如删除冗余不用的图片、xml等资源文件会让项目变得整洁,减小整体容量;注释(或删除)文件中多余的变量定义可以让文件易读、易维护。
其实,在实际的项目管理中,若像图片这样的整体资源(或整个xml文件)是用不到的,那么可以直接删除,保险起见、也可以在其他地方进行备份。而如果要在某个文件中对部分不用的变量进行剔除,一般采用的专业做法是进行注释,而不是简单粗暴的删除,以防以后需要重新使用这些变量,而且留下痕迹也便于查看谁对该文件做过修改。
项目规范性检测工具Lint的更多相关文章
- eslint 代码检测工具
jshint 检测工具不够灵活下,道格拉斯(何许人也?json创造者,javascript重要任务,犀牛那本书就是他写的). 文档地址: 中文地址 English 安装 利用npm全局安装eslint ...
- Kotlin Android项目静态检查工具的使用
Kotlin Android项目静态检查工具的使用 Kotlin Android项目可用的静态检查工具: Android官方的Lint, 第三方的ktlint和detekt. 静态检查工具 静态检查工 ...
- Python代码规范性检测
一定要注重代码规范,按照平时的代码管理,可以将Python代码规范检测分为两种: 静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一下,用Flake8的相对较多,功能满足 ...
- [转]Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...
- Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇——开发工具库篇,**主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容 ...
- [转载]浅谈C/C++内存泄漏及其检测工具
http://dev.yesky.com/147/2356147_3.shtml 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题.已经有许多技术被研究出来以应对这个问题,比如Sm ...
- Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具——Visual Leak Detector
那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简 ...
- VS项目重命名工具
VS项目重命名工具 VS项目整体重命名工具 不再为项目重命名和修改命名空间而烦恼,简单几个字,但是开发加上测试大量项目,前前后后竟然跨越了1个月,汗...不过真正的开发时间可能2-3天的样子. 一. ...
- 实时Bug检测工具Bugsnag发布API更新
原文地址: http://www.uml.org.cn/itnews/2013082609.asp 在应用开发过程中,开发者常常会碰到一个非常头疼的问题,就是应用崩溃.而Bugsnag可以很好地解决这 ...
随机推荐
- [转]输出带颜色的shell
格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033 ...
- Python基础之装饰器
1.什么是装饰器? Python的装饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西.虽然 ...
- 深度学习笔记------windows系统下进行Linux-Ubuntu14.04双系统安装笔记(二)
在上一篇文章中介绍了新手如何安装Ubuntu14.04的双系统,本文会说明Ubuntu系统下搜狗输入法的安装,并就我遇见的一些bug给出最简单的解决办法. 第一部分.搜狗输入法的安装 本身搜狗输入法的 ...
- nodeJS Express 删除 x-powered-by
在使用Express4 Header头部会输出,在晚上搜索几种方案也没有产生效果,就看了一下官方文档 Property Type Value Default x-p ...
- [转载]python脚本删除一定时间以外的文件
import os; import sys; import time; class DeleteLog: def __init__(self,filename,days): self.filename ...
- viso2010从mysql中导出ER图
mysql connector 下载地址: http://dev.mysql.com/downloads/connector/odbc/5.1.html 首先机器要安装mysql-connector- ...
- 【转】selenium学习路线
selenium学习路线 配置你的测试环境,真对你所学习语言,来配置你相应的selenium 测试环境.selenium 好比定义的语义---“问好”,假如你使用的是中文,为了表术问好,你的写法是“你 ...
- NOIP2012pj文化之旅[floyd]
描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次,即如果他学习了某种文化,则他就不能到达其他有这种文化的国家.不同的国家可能有相同的文化.不同文化的国家 ...
- 初识Struts2
一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8&q ...
- SQL Server 索引设计指南
https://msdn.microsoft.com/zh-cn/library/jj835095(v=sql.120).aspx#Nonclustered