Android 代码质量工具集成(checkstyle,findbugs,infer,PMD,Android lint)
1.代码检查工具介绍:
代码检查工具通过对源代码的扫描,检查代码风格,识别代码中的错误,帮助我们改进代码质量。
Android 常用的代码检查插件有:
——————————————————————————————————————————————————————————
名称 作用 分析方式
——————————————————————————————————————————————————————————
checkstyle 检查代码风格 ,变量,注释 分析源代码
findbugs 代码缺陷,Java语法使用缺陷 分析编译过程中的 .class
PMD 代码缺陷 分析源代码
infer 代码缺陷,空指针等 编译过程分析
android lint 数组,性能,图标,布局等 分析静态源代码
——————————————————————————————————————————————————————————
2.持续集成环境的演示
2.1 通过 Jenkins 集成
http://172.22.80.8:8080/job/qingqi_serialport_tool~CHECK/
2.2 检查结果展示
2.3 邮件通知展示
3.如何使用和集成到 CI
Grade 提供了 checkstyle,findbugs , PMD, 等代码检查工具的插件,直接配置规则即可。
下面以 checkstyle 工具为例演示一个集成过程:
3.1 工程结构
脚本存放在 scripts 文件夹下
checkstyle.gradle gradle 脚本配置,关键在这里
huawei_CheckStyle.xml 规则配置文件
suppressions.xml 规则配置文件
3.2 编写 grade 脚本
checkstyle.gradle 文件内容如下
3.3 在 android module 里启用
在 app 主项目 module 下 的 build.gradle 中添加如下:
apply from: '../scripts/checkstyle/checkstyle.gradle'
3.4 执行检查
./gradlew clean check
4. 研发流程改进
简单就是:
开发人员 push 到仓库 —> git 仓库触发器通知 —> Jenkins 触发构建 —> 产出 reports —> fix 缺陷
5. 参考
Checkstyle: //www.greatytc.com/p/0b70a7928033
PMD 示例: //www.greatytc.com/p/5fe23ed8d147
Android Lint: //www.greatytc.com/p/e0de4c1bc747
Infer: //www.greatytc.com/p/2d5cd6304ee7