专栏首页编码前线使用FindBugs插件检查Android代码

使用FindBugs插件检查Android代码

概述

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

FindBugs—代码缺陷分类

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

安装插件

配置过滤文件

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

<?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:配置

检测代码

检测入口

  • FindBugs面板
  • 菜单列表

检测结果

参考链接

  1. http://findbugs.sourceforge.net/
  2. https://www.ibm.com/developerworks/cn/java/j-findbug1/index.html?mhq=findbugs&mhsrc=ibmsearch_a
  3. https://www.ibm.com/developerworks/cn/java/j-findbug2/index.html?mhq=findbugs&mhsrc=ibmsearch_a
  4. https://www.jianshu.com/p/bc27857c89e4
  5. https://blog.csdn.net/u013132758/article/details/70187846
  6. https://zdran.com/20180717.html
  7. https://blog.csdn.net/jdsjlzx/article/details/21472253

本文分享自微信公众号 - 编码前线(gh_acef1225aadd)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redis命令:scan实现模糊查询

    从Redis v2.8开始,SCAN命令已经可用,它允许使用游标从keyspace中检索键。 对比KEYS命令,虽然SCAN无法一次性返回所有匹配结果,但是却规...

    用户1205080
  • JAVA面试50讲之5:Vector,ArrayList,LinkedList的区别

    一组”对立”的元素,通常这些元素都服从某种规则   1.1) List必须保持元素特定的顺序   1.2) Set不能有重复元素   1.3) Queue保持一...

    用户1205080
  • LruCache解析

    用户1205080
  • 【最新】iPhone X 交互设计官方指南

    昨天凌晨,苹果公司发布了带刘海的 iPhone X,这需要 iOS 开发者针对其屏幕做新的适配,会后苹果公司发布了 iPhone X 的适配指南,下面是翻译稿,...

    疯狂的技术宅
  • 观点 | 小心训练模型,数据少也可以玩转深度学习

    选自Github 作者:Andrew L. Beam 机器之心编译 最近,Jeff Leek 在 Simply Stats 上发表了一篇题为「如果你的数据量不...

    机器之心
  • 小心训练模型,数据少也可以玩转深度学习

    最近,Jeff Leek 在 Simply Stats 上发表了一篇题为「如果你的数据量不够大就不要使用深度学习」(Don’t use deep learnin...

    小莹莹
  • 2020 SSR落地开花的三大机遇

    上篇《SSR 它到底香不香?细数 SSR 的利与弊》列举了 SSR 渲染模式的 6 大难题:

    ayqy贾杰
  • Oracle 整理知识点

    ----------------------------------------------------------- 先要连接数据库:才能新建表空间(或删除...

    爱明依
  • 深度学习十年发展回顾:里程碑论文汇编

    这篇文章概述了过去十年来最有影响力的一些论文。我希望通过简洁明了的摘要来提供深度学习领域不同方向的起点,并且提供了相当多的参考资料。

    大数据文摘
  • 深度学习 基本概念

    https://blog.csdn.net/pangjiuzala/article/details/72630166

    平凡的学生族

扫码关注云+社区

领取腾讯云代金券