Android 代码质量工具集成(checkstyle,findbugs,infer,PMD,Android lint)

1.代码检查工具介绍:

image.png

代码检查工具通过对源代码的扫描,检查代码风格,识别代码中的错误,帮助我们改进代码质量。

Android 常用的代码检查插件有:

——————————————————————————————————————————————————————————名称            作用                                     分析方式——————————————————————————————————————————————————————————checkstyle       检查代码风格 ,变量,注释      分析源代码findbugs        代码缺陷,Java语法使用缺陷       分析编译过程中的 .classPMD             代码缺陷                          分析源代码infer           代码缺陷,空指针等                编译过程分析android lint     数组,性能,图标,布局等           分析静态源代码——————————————————————————————————————————————————————————

2.持续集成环境的演示

2.1 通过 Jenkins 集成

http://172.22.80.8:8080/job/qingqi_serialport_tool~CHECK/

2.2 检查结果展示

image.png

2.3 邮件通知展示

image.png

3.如何使用和集成到 CI

Grade 提供了 checkstyle,findbugs , PMD, 等代码检查工具的插件,直接配置规则即可。

下面以 checkstyle 工具为例演示一个集成过程:

3.1 工程结构

脚本存放在 scripts 文件夹下


image.png

checkstyle.gradle gradle 脚本配置,关键在这里

huawei_CheckStyle.xml 规则配置文件

suppressions.xml 规则配置文件

3.2 编写 grade 脚本

checkstyle.gradle 文件内容如下


image.png

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 缺陷


image.png

5. 参考

Checkstyle: https://www.jianshu.com/p/0b70a7928033
PMD 示例: https://www.jianshu.com/p/5fe23ed8d147
Android Lint: https://www.jianshu.com/p/e0de4c1bc747
Infer: https://www.jianshu.com/p/2d5cd6304ee7

更多相关文章

  1. Android(安卓)startActivityForResult的使用
  2. Android第一个功能:手机拨号器
  3. android studio中xml文件代码提示问题
  4. Android(安卓)蓝牙( Bluetooth)耳机连接分析及实现
  5. Android(安卓)代码执行Linux Shell小记
  6. android 源码分析流程(一) init.c
  7. android 利用 git 信息区分 apk 版本
  8. 【Android病毒分析报告】 - Obad
  9. Android(安卓)错误案例

随机推荐

  1. android 进程间通信示例
  2. Eclipse build Android时不生成apk问题解
  3. Android(安卓)系统跳转实现分享功能(如 微
  4. android 设计比较美观的登录界面
  5. Android之Intent的基本使用
  6. Android(安卓)Layout XML属性
  7. Android(安卓)Permission大全
  8. Android(安卓)Window系列(一)- window与dec
  9. Android流星雨效果---史上最炫,浪漫,值得陪
  10. 远程服务使用AIDL通信