android studio findbugs 过滤,Android Studio中使用FindBugs

article/2025/9/13 16:01:50

1.什么是FindBugs

一句话简单理解就是:是一个工具,可以用它自动帮你找出代码中潜在的BUG。当然事实并不一定总是如此,也有很多它找不出来的地方。下面将直接介绍如何在Android Studio中的简单使用。有兴趣的童鞋可以自己去了解了解,附上官网。

2.在Android Studio中使用FindBugs-IDEA插件

(1)安装插件

Android Studio --> File --> Settings... --> Plugins --> 搜索FindBugs-IDEA --> 安装并重启Android Studio

重启之后可以看见Android Studio窗口下方的工具栏中出现了一个新的选项,如下图:

adc5e7f9f9fb

工具栏.png

(2)工具栏说明

上图所说的选项点开之后的样子和下面一样(我的工程名字叫:MyApplication):

adc5e7f9f9fb

FindBugs-IDEA.png

红框中的图标会根据你当前选中的文件或文件夹,有不同情况的亮灭,即是否可点击状态(图中是我的光标停留在一个java文件中时的状态),鼠标停留在图标上一会儿会有图标说明出现。

(3)使用演示

首先,在File --> Settings... --> FindBugs-IDEA --> Filter中添加忽略检查的文件(一般是忽略.R和Manifest,不忽略这两个文件的话可能会检查出一些所谓的BUG,但你并不能修复它们),如下图所示:

adc5e7f9f9fb

exclude.png

其中文件"findbugs-android-exclude.xml"打开后如下,复制保存为xml格式后在中间红框处选择添加它:

添加完成之后选择OK,即可开始使用(当然你也可以添加其它不想被检测的文件)。

使用

检查的功能很全面,比如检查当前选中文件、检查文件夹、检查整个工程等等。

这里只写出最简单也是最常用的方式——检查当前选中文件,其它方式各位可自己多试试就明白了。

我先在MainActivity中写一个死循环,如下图所示:

adc5e7f9f9fb

死循环.png

然后在左边文件树中选中MainActivity.java这个文件,打开下方工具栏中的FindBugs-IDEA,点击第一列中红色那只虫(或者直接使用快捷键Ctrl+Alt+Shift+F),之后就开始检测了,检测完后,会显示出有BUG的代码在什么位置,还有一些说明,如下图:

adc5e7f9f9fb

BUG.png

点击蓝色的那条,窗口就会跳到有BUG的代码处,修改好之后再重新运行检测就行了。

最后

总的来说,这个工具还是很方便的,通常情况下可以检查出以下几类问题:

1) Bad practice:不好的做法,代码违反了公认的最佳实践标准,比如某个类实现了equals方法但未实现hashCode方法等;

2)Malicious code vulnerbility:恶意的代码漏洞;

3)Correctness:可能不正确,比如错误的强制类型转换;

4)Performance:潜在的性能问题;

5)Security:安全性;

6)Dodgy code:糟糕的代码,FindBugs团队认为该类型下的问题代码导bug的可能性很高;

7)Experimental:实验;

8)Multithreaded correctness:关注于同步和多线程问题;

9)Internationalization:国际化

不过,关于业务方面的BUG,它可就无能为力了。


http://chatgpt.dhexx.cn/article/fD4JHNtv.shtml

相关文章

FindBugs插件

官网 FindBugs官网:http://findbugs.sourceforge.net/ 插件安装 点击settings---->plugins---->Browse repositories 搜索框输入FindBugs-IDEA并点击右侧Install按钮 安装完毕后重启idea,发现左下角多了一个FindBugs图标 插件使用 在被检查文…

eclipse常用插件之FindBugs

1、简介 FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以作为 Eclipse插件使…

php findbugs,findBugs插件

现在使用Java进行开发的软件已经很多了,那么我们在使用Java开发的时候,是不是会遇到各种各样的错误了,有的错误隐藏着,有的错误你发现了,可以修改,那没有发现的错误就令人担忧了!小编这款插件就…

软件测试实验 FindBugs

1.配置 FindBugs 打开 Eclipse,通过【Window -> Preferences】下【Java -> FindBugs】查看 FindBugs的 配置情况。问题: 这里可以配置 FindBugs的哪些特性? 选择导入的项目,通过【Window -> Preferences】下【Java -> FindBugs…

Findbug使用指南

Findbug使用指南 findbugs是一个开源的eclipse 代码检查工具;它可以简单高效全面地帮助我们发现程序代码中存在的bug,bad smell,以及潜在隐患。针对各种问题,它并且提供了简单的修改意见供我们重构时进行参考; 通过使…

findbugs用法教程

代码分析工具FindBugs详细配置使用教程 一,关于FindBugs (1) FindBugs 是由马里兰大学提供的一款开源 Java 静态代码分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题(先对编译后的class进行扫描,…

自动找Bug/插件-代码静态检查findbugs-idea安装以及使用

目录 简介 IDEA安装FindBugs Findbugs配置 配置排除一些类 扫描级别 IDEA中使用FindBugs: 一些常见错误 补充 简介 Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。Findbugs自带检测器&…

Elasticsearch安装IK分词器、配置自定义分词词库

一、分词简介1、单字分词:2、二分法分词:3、词库分词: 二、配置IK中文分词器三、配置自定义分词拓展词库 一、分词简介 在Elasticsearch中,假设搜索条件是“华为手机平板电脑”,要求是只要满足了其中任意一个词语组合…

Elasticsearch 英文分词 中文分词

对于倒排索引来说,很重要的一件事情就是需要对文本进行分词,经过分词可以获取情感、词性、质性、词频等等的数据。 Elasticsearch 分词工作原理 在 Elasticsearch 中进行行分词的需要经过分析器的3个模块,字符过滤器将文本进行替换或者删除&…

【ElasticSearch】分词器(ElasticSearchIK分词器)

1. 分词器介绍 •IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包•是一个基于Maven构建的项目•具有60万字/秒的高速处理能力•支持用户词典扩展定义 2. ik 分词器安装 IK 分词器安装 3. 分词器的使用 IK分词器有两种分词模式:ik…

ElasticSearch中文分词,看这一篇就够了

写在前面:我是「且听风吟」,目前是某上市游戏公司的大数据开发工程师,热爱大数据开源技术,喜欢分享自己的所学所悟,现阶段正在从头梳理大数据体系的知识,以后将会把时间重点放在Spark和Flink上面。 如果你…

Ik分词器(自定义分词-mysql)

引言:ik分词器的分词范围不够广泛。某些特定行业的专业用语分词能力就不够了,此时就需要自定义分词,与停顿词。 1、下载ik分词器源码 git地址:https://github.com/medcl/elasticsearch-analysis-ik/releases?page2 下载对应的…

分词器详解

在全文搜索(Fulltext Search)中,**词(Term)**是一个搜索单元,表示文本中的一个词,**标记(Token)**表示在文本字段中出现的词,由词的文本、在原始文本中的开始…

ES-分词器

简介 分词器是es中的一个组件,通俗意义上理解,就是将一段文本按照一定的逻辑,分析成多个词语,同时对这些词语进行常规化的一种工具;ES会将text格式的字段按照分词器进行分词,并编排成倒排索引,…

IK分词器

IK分词器是ES的一个插件,主要用于把一段中文或者英文的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词器是将每个字看成一个词,比如"我爱技术"会被分为"我…

Elasticsearch连续剧之分词器

目录 一、前言二、默认分词器三、IK分词器1.主要算法2.安装IK分词器2.1 关闭es服务2.2 上传ik分词器到虚拟机2.3 解压2.4 启动ES服务2.5 测试分词器效果2.6 IK分词器词典 四、拼音分词器1.安装2.测试分词效果 五、自定义分词器1.创建自定义分词器2.测试 一、前言 ES文档的数据…

jieba分词

一、jieba简介 jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。 精确模式: 试图将语句最精确的切分,不存在冗余数据,适合做…

NLP-分词综述

NLP-分词综述 一、什么是分词?二、为什么要分词1、将复杂问题转化为数学问题2. 词是⼀个⽐较合适的粒度3. 深度学习时代,部分任务中也可以「分字」 三、中英⽂分词的3个典型区别1.分词⽅式不同,中⽂更难2.英⽂单词有多种形态3.中⽂分词需要考…

Jieba中文分词 (一) ——分词与自定义字典

jieba分词特点 支持四种分词模式: 精确模式试图将句子最精确地切开,适合文本分析;全模式把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;搜索引擎模式在精确模式的基础上,对长词再次…

【NLP学习】中文分词

word segmentation 1.概述2.分词方法(1)基于词典的机械分词法①正向最大匹配(FMM)②逆向最大匹配(BMM)③双向最大匹配 (2)基于统计的分词法①基于互信息的分词方法②最大概率分词方法 3.分词粒度4.中文分词工具5.总结 1.概述 *◆…