使用FindBugs插件检查Android代码

概述

FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通过使用 Visitor 模式。

FindBugs—代码缺陷分类

  • Bad practice:不好的做法,代码违反了公认的最佳实践标准;
  • Malicious code vulnerability:恶意的代码漏洞;
  • Correctness:正确性;
  • Performance:潜在的性能问题;
  • Security:安全性;
  • Dodgy code:糟糕的代码,FindBugs团队认为该类型下的问题代码导致bug的可能性很高;
  •  Experimental:实验;
  • Multithreaded correctness:关注于同步和多线程问题;
  • Internationalization:国际化。

安装插件

install-plugin

find-bugs-pane

配置过滤文件

Step1:在项目根目录下创建findbugs-exclude.xml文件

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
<!-- http://stackoverflow.com/questions/7568579/eclipsefindbugs-exclude-filter-files-doesnt-work -->
<Match>
<Or>
<Class name="~.*\.R\$.*"/>
<Class name="~.*\.Manifest\$.*"/>
</Or>
</Match>
</FindBugsFilter>

Step2:配置

find-bugs-exclude

检测代码

检测入口

  • FindBugs面板

find-bugs-entry1

  • 菜单列表

find-bugs-entry2

检测结果

find-bugs-result

参考链接

  1. FindBugs Official
  2. FindBugs,第 1 部分: 提高代码质量
  3. FindBugs,第 2 部分: 编写自定义检测器
  4. 代码缺陷扫描神器——FindBugs
  5. AndroidStudio 插件 之 Findbugs 安装与简单使用教程
  6. FindBugs 常见错误类型整理
  7. FindBugs规则整理
文章目录
  1. 1. 概述
  2. 2. FindBugs—代码缺陷分类
  3. 3. 安装插件
  4. 4. 配置过滤文件
  5. 5. 检测代码
  6. 6. 参考链接
,