Android Studio中FindBugs的使用

FindBugs

FindBugs是一个寻找bug的工具,更具体的说FindBugs是一个静态检测Java代码的工具,可以找到代码中的一些潜在bug,比如说NullPointerException,或者是一些流或者数据库没有关闭的问题.
出自官方的一句话(Provides static byte code analysis to look for bugs in Java code from within IntelliJ IDEA.)

作用

  • 常见代码错误,序列化错误
  • 可能导致错误的代码,如空指针引用
  • 国际化相关问题:如错误的字符串转换
  • 可能受到的恶意攻击,如访问权限修饰符的定义等
  • 多线程的正确性:如多线程编程时常见的同步,线程调度问题。
  • 运行时性能问题:如由变量定义,方法调用导致的代码低效问题

安装方法

在插件目录下查找FindBugs
这里写图片描述
直接安装,成功之后,下面的菜单栏会有一个FindBugs的菜单
这里写图片描述

使用方法

开始分析你的应用,点击Analyze Project Files
这里写图片描述
然后会分析出应用中存在的Bug
这里写图片描述

设置

在setting里面还可以对FindBugs做一些设置(这里就不做详细的介绍了)
这里写图片描述

自定义规则

FindBugs可以在gradle里面做自定义任务
(注意需要在gradle里面添加 apply plugin:’findbugs’)
这里写图片描述
这里写图片描述
在这里配置了规则findbugs-filter.xml 以及报告生成的路径findbugs.xml

task findbugs(type: FindBugs, dependsOn: "assembleDebug") {
    ignoreFailures = false
    effort = "max"
    reportLevel = "high"
    excludeFilter = new File("$configDir/findbugs/findbugs-filter.xml")//这里是自定义的规则
    classes = files("${project.rootDir}/app/build/intermediates/classes")

    source 'src'
    include '**/*.java'
    exclude '**/gen/**'

    reports {
        xml.enabled = false
        html.enabled = true
        xml {
            destination "$reportsDir/findbugs/findbugs.xml"  //这里是报告产生的路径
        }
        html {
            destination "$reportsDir/findbugs/findbugs.html"  //这里是报告产生的路径
        }
    }

    classpath = files()
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值