AndroidLint
Android的Lint是一个新的工具,是在ADT 16版本引入的,它能扫描Android项目中源代码潜在的错误。
它有两种形式:一个命令行工具,以及集成与Eclipse。
以下是工具找到的一些错误类型的例子:
a.Missingtranslations (and unused translations)
b.Layoutperformance problems (all the issues the old layoutopt tool used to find, andmore)布局性能问题
c.Unusedresources 没有使用的资源
d.Inconsistentarray sizes (when arrays are defined in multiple configurations)数组的大小不一致
e.Accessibilityand internationalization problems (hardcoded strings, missingcontentDescription, etc)可访问性和国际化的问题(硬编码字符串,缺少contentDescription等)
e.Iconproblems (like missing densities, duplicate icons, wrong sizes, etc) 图标的问题
f.Usabilityproblems (like not specifying an input type on a text field)可用性问题(如不指定输入类型的文本字段)
g.Manifesterrors 配置文件的错误
命令行工具运行:
SDKtools/ 目录下一个叫lint的工具.
a.运行:lintD:\Andorid\WorkSpace\UICollection 就会检查当前目录下的源码
b.禁用检查选项:lint --disableMissingTranslation,UnusedIds,Usability:Icons D:\Andorid\WorkSpace\UICollection
c.启用检查选项:lint --enableMissingTranslation,UnusedIds,Usability:Icons D:\Andorid\WorkSpace\UICollection
d.按指定的策略选项来检查lint --checkMissingPrefix D:\Andorid\WorkSpace\UICollection
e.查看哪些策略和选项是可用的:lint --list
f.查看指定选项的具体解释:lint --showMissingPrefix
HTML报告
命令行工具也能生成 HTML报告.它有如下优势:
a.每个错误的代码都有更详细的解释,还有提供更多信息属性的超链接
b.能指出错误代码的所在的行数
c.它能直接定位到源码的链接
d.对于图标的错误, 图标本身就显示在报告中,方便对比
e.Togenerate an HTML report, just add --html filename as an argument:
生成HTML报告:lint --html/tmp/report.html
默认情况下, 只要使用本地文件file://path resources就可以链接到源文件
你也能用--url选项映射URLs地址到另一个目录,例如:
lint--html /tmp/report.html --url /src/MyProj=http://buildserver/src/MyProj
其他命令参数:
运行lint --help 获取其他参数可用的信息
Lint在Eclipse的操作
Lint集成了ADT 16以及更高的版本,它的集成比命令行提供了更多的优势:
a.自动修复了许多警告
b.Lint在执行各种编辑操作之后会自动运行
c.能够抑制各种类型的错误和指定错误的实例
d.能配置问题严重程度
e.从Lint视图直接跳转到关联的错误的源码
当你做如下操作时Lint 将会自动运行:
a.导出APK.这样的话将在一个特殊的模式下运行lint。它只能找出致命的错误(节省时间),如果发现致命的错误就会终止导出APK.
b.编辑和保存XML文件(例如layout文件或者manifest文件),这样的话, 所有与之关联的文件都会重新检查
c.用layout编辑器. 对每一个布局操作, 所有与之关联的文件都会重新检查
LintWindowAndroid Lint
Android的Lint是一个新的工具,是在ADT 16版本引入的,它能扫描Android项目中源代码潜在的错误。
它有两种形式:一个命令行工具,以及集成与Eclipse。
以下是工具找到的一些错误类型的例子:
a.Missingtranslations (and unused translations)
b.Layoutperformance problems (all the issues the old layoutopt tool used to find, andmore)布局性能问题
c.Unusedresources 没有使用的资源
d.Inconsistentarray sizes (when arrays are defined in multiple configurations)数组的大小不一致
e.Accessibilityand internationalization problems (hardcoded strings, missingcontentDescription, etc)可访问性和国际化的问题(硬编码字符串,缺少contentDescription等)
e.Iconproblems (like missing densities, duplicate icons, wrong sizes, etc) 图标的问题
f.Usabilityproblems (like not specifying an input type on a text field)可用性问题(如不指定输入类型的文本字段)
g.Manifesterrors 配置文件的错误
命令行工具运行:
SDKtools/ 目录下一个叫lint的工具.
a.运行:lintD:\Andorid\WorkSpace\UICollection 就会检查当前目录下的源码
b.禁用检查选项:lint --disableMissingTranslation,UnusedIds,Usability:Icons D:\Andorid\WorkSpace\UICollection
c.启用检查选项:lint --enableMissingTranslation,UnusedIds,Usability:Icons D:\Andorid\WorkSpace\UICollection
d.按指定的策略选项来检查lint --checkMissingPrefix D:\Andorid\WorkSpace\UICollection
e.查看哪些策略和选项是可用的:lint --list
f.查看指定选项的具体解释:lint --showMissingPrefix
HTML报告
命令行工具也能生成 HTML报告.它有如下优势:
a.每个错误的代码都有更详细的解释,还有提供更多信息属性的超链接
b.能指出错误代码的所在的行数
c.它能直接定位到源码的链接
d.对于图标的错误, 图标本身就显示在报告中,方便对比
e.Togenerate an HTML report, just add --html filename as an argument:
生成HTML报告:lint --html/tmp/report.html
默认情况下, 只要使用本地文件file://path resources就可以链接到源文件
你也能用--url选项映射URLs地址到另一个目录,例如:
lint--html /tmp/report.html --url /src/MyProj=http://buildserver/src/MyProj
其他命令参数:
运行lint --help 获取其他参数可用的信息
Lint在Eclipse的操作
Lint集成了ADT 16以及更高的版本,它的集成比命令行提供了更多的优势:
a.自动修复了许多警告
b.Lint在执行各种编辑操作之后会自动运行
c.能够抑制各种类型的错误和指定错误的实例
d.能配置问题严重程度
e.从Lint视图直接跳转到关联的错误的源码
当你做如下操作时Lint 将会自动运行:
a.导出APK.这样的话将在一个特殊的模式下运行lint。它只能找出致命的错误(节省时间),如果发现致命的错误就会终止导出APK.
b.编辑和保存XML文件(例如layout文件或者manifest文件),这样的话, 所有与之关联的文件都会重新检查
c.用layout编辑器. 对每一个布局操作, 所有与之关联的文件都会重新检查
LintWindow
想一个项目中运行lint,在PackageExplorer中选择项目,点击Lint工具栏选项(见右图)。
或者你可以在项目上右击点击Android Tools子菜单,将会有一个 “RunLint” 选项. 这个会打开一个 包含有各种错误的Lint窗口.选择一个错误将会在右边的区域显示与之关联的解释.
你可以在Lint窗口中双击错误去定位到与之关联的源码, 每个警告图标将显示其严重性,对于已经修复的警告,有一个小灯泡.
窗口也有一个操作栏(在右上方角落),它可以让你
再次运行lint 检查并刷新结果 (刷新的过程中会变成停止按钮,如果你想停止的话可以点击停止按钮)
如果存在,运行和此错误关联修复
忽略此修复
移除单条警告标识
移除所有警告标识
快速修复
许多lint警告有自动修复功能。例如,不同的layoutopt修正建议替换(例如:更换wrap_content与0DP)。
从lint视图,点击灯泡修复
从布局编辑器警告摘要,单击“修复”按钮来修复。
从XML源代码编辑器中,调用快速修复(按Ctrl-1),并选择快速修复警告。
抑制错误