lint

lintAndroid SDK Tools 16之后才引入的工具,通过代码检查,可发现潜在的问题, 并能对Android程序进行优化处理,是一个查错与代码优化的利器。

lint提供了多种使用方式:

  • 命令行
  • gradle任务
  • Eclipse插件
  • Android Studio插件
1.1、命令行

查看lint的使用帮助:

用法:

lint [option] androidProjectPath
1.1.1、lint --list

列出所有问题的分类和问题的Id。

Android Lint检查的问题分为10类:

  • Correctness
  • Correctness: Messages
  • Security
  • Performance
  • Usability: Typography
  • Usability: Icons
  • Usability
  • Accessibility
  • Internationalization

Issue以一个文本短语来作为id,对Issue的定制等操作都是基于id的。

IssueSeverity来标识该Issue的危害程度:

  • Fatal
  • Error
  • Warning
  • Information
  • Ignore

Issue的忽略操作其实也就是降低它的Severity为Ignore。

1.1.2、lint --show

列出所有问题的分类和问题的详细描述。

查看指定id的问题的详细描述。

1.1.3、lint --disable <issue_id_list>
1.1.4、lint --enable <issue_id_list>
1.1.5、lint --check <issue_id_list>

指定要检查哪些问题,默认的,检查所有的问题。示例:

cd /my/project/path
lint --check UnusedResources,UselessLeaf --html build/outputs/lint-results.html .
1.1.6、lint --ignore <issue_id_list>

忽略检查某些问题,示例:

cd /my/project/path
lint --ignore UnusedResources,UselessLeaf --html build/outputs/lint-results.html .
1.1.7、lint --html <fileName>

结果如下:

1.1.8、lint --simplehtml <fileName>

结果如下:

1.1.9、lint --xml <fileName>

结果如下:

1.1.10、--url filepath=url
1.2、gradle任务

通过./gradlew lint进行lint检查,如下:

执行后,生成两份报告:build/outputs/lint-results.xmlbuild/outputs/lint-results.htmlhtml结果便于查看结果,xml结果便于其他程序做进一步的统计分析。比如,被SonarQube进行重新展现。

1.3、Eclipse插件

在项目上右击,选择“AndroidTools → Run Lint:Check for common Errors

或者在工具栏中选择Runs Android Lint的按钮, 点击它可执行对所有当前Workspace中的Android项目执行Android Lint; 也可以点击它右边的下箭头,选择对某一个Android项目执行Android Lint:

执行Lint检查之后,检查的结果在Eclipse的Lint Warnings视图里:

可以在这里解决问题或者定制忽略掉这些问题。

设置:

设置特定项目:

设置所有项目:

1.4、Android Studio插件