Android 代碼質(zhì)量工具集成(checkstyle,findbugs,infer,PMD,Android lint)
1.代碼檢查工具介紹:

代碼檢查工具通過對源代碼的掃描,檢查代碼風格,識別代碼中的錯誤,幫助我們改進代碼質(zhì)量。
Android 常用的代碼檢查插件有:
——————————————————————————————————————————————————————————
名稱 作用 分析方式
——————————————————————————————————————————————————————————
checkstyle 檢查代碼風格 ,變量,注釋 分析源代碼
findbugs 代碼缺陷,Java語法使用缺陷 分析編譯過程中的 .class
PMD 代碼缺陷 分析源代碼
infer 代碼缺陷,空指針等 編譯過程分析
android lint 數(shù)組,性能,圖標,布局等 分析靜態(tài)源代碼
——————————————————————————————————————————————————————————
2.持續(xù)集成環(huán)境的演示
2.1 通過 Jenkins 集成
http://172.22.80.8:8080/job/qingqi_serialport_tool~CHECK/
2.2 檢查結(jié)果展示

2.3 郵件通知展示

3.如何使用和集成到 CI
Grade 提供了 checkstyle,findbugs , PMD, 等代碼檢查工具的插件,直接配置規(guī)則即可。
下面以 checkstyle 工具為例演示一個集成過程:
3.1 工程結(jié)構(gòu)
腳本存放在 scripts 文件夾下

checkstyle.gradle gradle 腳本配置,關鍵在這里
huawei_CheckStyle.xml 規(guī)則配置文件
suppressions.xml 規(guī)則配置文件
3.2 編寫 grade 腳本
checkstyle.gradle 文件內(nèi)容如下

3.3 在 android module 里啟用
在 app 主項目 module 下 的 build.gradle 中添加如下:
apply from: '../scripts/checkstyle/checkstyle.gradle'
3.4 執(zhí)行檢查
./gradlew clean check
4. 研發(fā)流程改進
簡單就是:
開發(fā)人員 push 到倉庫 —> git 倉庫觸發(fā)器通知 —> Jenkins 觸發(fā)構(gòu)建 —> 產(chǎn)出 reports —> fix 缺陷

5. 參考
Checkstyle: http://www.itdecent.cn/p/0b70a7928033
PMD 示例: http://www.itdecent.cn/p/5fe23ed8d147
Android Lint: http://www.itdecent.cn/p/e0de4c1bc747
Infer: http://www.itdecent.cn/p/2d5cd6304ee7