Android Lint:自定义Lint调试与开发

作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件没有用到的图片资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidManifest文件存在异常,lint就能解决我们的这些问题。Android lint是在ADT 16提供的新工具,它是一个代码扫描工具,能够帮助我们识别代码结构存在的问题,主要包括:
1)布局性能(以前是 layoutopt工具,可以解决无用布局、嵌套太多、布局太多)
2)未使用到资源
3)不一致的数组大小
4)国际化问题(硬编码)
5)图标的问题(重复的图标,错误的大小)
6)可用性问题(如不指定的文本字段的输入型)
7)manifest文件的错误

Android lint可以解决如上的问题,当然还有更多,具体的可以参考Android Lint Checks。Android官方也总结了lint能解决的问题,如下图。

Android代码优化——使用Android lint工具(才发现这是个不错的工具)

lint是命令工具,它已经完美的集成到了Eclipse中,我们可以方便的使用。通过lint,我们可以检测出每个问题的说明和问题的严重性,根据检测报告可以对程序作出改进。下面介绍下在Eclipse怎么使用lint。

lint的使用可以通过两个途径,Eclipse左上角的打钩的按钮或者选择项目->右键->Android Tools,如下图所示:


Android代码优化——使用Android lint工具(才发现这是个不错的工具)

Android代码优化——使用Android lint工具(才发现这是个不错的工具)

图一 图二

lint工具简单实用,自动化分析,分析完成会给我们分析报告:


Android代码优化——使用Android lint工具(才发现这是个不错的工具)

分析包括中会包括错误和警告,会给出具体的描述、类别、位置。上图是一个错误的描述,下图给出警告描述。

Android代码优化——使用Android lint工具(才发现这是个不错的工具)

Android lint是对android开发者很有帮助的一款工具,对于项目打包发布前优化代码、查找没用到的资源、查找错误等非常有帮助。作为开发者是必须掌握的工具之一

【1】JDK环境变量配置
JDK的安装文件夹为:C:\Program Files (x86)\Java\jdk1.7.0_45。
JDK环境变量配置共同拥有三种方法,即绝对路径法、JAVA_HOME法、完整法。

(1)绝对路径法:即JDK的环境变量的配置所有使用绝对路径。
是最简单的配置方法。
path=C:\Program Files (x86)\Java\jdk1.7.0_45\bin;C:\Program Files (x86)\Java\jdk1.7.0_45\jre\bin

(2)JAVA_HOME法:这是最常见的配置方法。修改比較方便,较为灵活。也能够理解为相对路径。

JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_45
path中=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(3)完整法:是在JAVA_HOME方法的基础上添加了classpath.在某些使用过程中可能会使用到classpath来寻找路径.推荐使用这样的方式。

JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_45

path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

classpath=,;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注意:classpath要以.;开头。

英文状态下的“点 分号”)

1.工具位置

lint 工具在安卓 sdk 的 tools 目录下

2. lint使用

1>在命令行窗口 输入lint,得到lint 帮助说明如下:

Usage: lint [flags] <project directories>
Flags:
--help This message.
--help <topic> Help on the given topic, such as "suppress".
--list List the available issue id's and exit.
--version Output version information and exit.
--exitcode Set the exit code to 1 if errors are found.
--show List available issues along with full explanations.
--show <ids> Show full explanations for the given list of issue id's.

Enabled Checks:
--disable <list> Disable the list of categories or specific issue id's. The list should be a comma-separated list of issue id's or categories.
--enable <list> Enable the specific list of issues. This checks all the default issues plus the specifically enabled issues. The list should be a comma-separated list of issue id's or categories.
--check <list> Only check the specific list of issues. This will disable everything and re-enable the given list of issues. The list should be a comma-separated list of
issue id's or categories.
-w, --nowarn Only check for errors (ignore warnings)
-Wall Check all warnings, including those off by default
-Werror Treat all warnings as errors
--config <filename> Use the given configuration file to determine whether issues are enabled or disabled. If a project contains a lint.xml file, then this config file will be used as a fallback.

Output Options:
--quiet Don't show progress.
--fullpath Use full paths in the error output.
--showall Do not truncate long messages, lists of alternate locations, etc.
--nolines Do not include the source file lines with errors in the output. By default, the error output includes snippets of source code on the line containing the
error, but this flag turns it off.
--html <filename> Create an HTML report instead. If the filename is a directory (or a new filename without an extension), lint will create a separate report for each scanned project.
--url filepath=url Add links to HTML report, replacing local path prefixes with url prefix. The mapping can be a comma-separated list of path prefixes to correspondingURL prefixes, such as C:\temp\Proj1=http://buildserver/sources/temp/Proj1. To turn off linking to files, use --url none
--simplehtml <filename> Create a simple HTML report
--xml <filename> Create an XML report instead.

Project Options:
--resources <dir> Add the given folder (or path) as a resource directory for the project. Only valid when running lint on a single project.
--sources <dir> Add the given folder (or path) as a source directory for the project. Only valid when running lint on a single project.
--classpath <dir> Add the given folder (or jar file, or path) as a class directory for the project. Only valid when running lint on a single project.
--libraries <dir> Add the given folder (or jar file, or path) as a class library for the project. Only valid when running lint on a single project.

2>常用命令讲解

lint --list 列出所有的问题id

lint --show 列出所有的问题,并给出详细解释

lint --check <List> 只检查List列表中的问题id,其中List中的id 使用逗号分开

lint -w 只检查错误,忽略警告

lint --xml filename 创建一个xml的结果报告

lint --html filename 创建一个html 的结果报告

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容