Android findbugs

来源:互联网 发布:龙江网络客服中心电话 编辑:程序博客网 时间:2024/06/09 15:50

 

Build Android project with Findbugs ant task

官方网址:http://findbugs.sourceforge.net/

 

总结如下:

1. 前提是你已经正确安装了Android SDK和Ant。建议配置$ANDROID_HOME和$ANT_HOME环境变量。

2. 下载并且安装Findbugs,配置环境变量$FINDBUGS_HOME。

3. 将$FINDBUGS_HOME/lib/findbugs-ant.jar拷贝到$ANT_HOME/lib目录。

4. 将如下的配置加到Android工程的build.xml中,并且根据实际情况作适当修改:

<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/><property name="findbugs.home" value="${env.FINDBUGS_HOME}" /><target name="findbugs" depends="-compile">    <mkdir dir="reports" />    <findbugs home="${findbugs.home}" output="html" outputFile="reports/findbugs.html">        <!-- so we dont get hundrets of "The following classes needed for analysis were missing" warnings. -->         <auxClasspath path="${android.jar}" />        <auxClasspath>            <fileset dir="${other-dependency-lib-dir}/libs" includes="*.jar" />        </auxClasspath>        <class location="${out.dir}" />        <sourcePath path="${source.dir}" />    </findbugs></target>


 

参考:
http://findbugs.sourceforge.net/manual/anttask.html
http://findbugs.sourceforge.net/manual/running.html
http://tntxia.iteye.com/blog/604714
http://www.dotblogs.com.tw/yuanchien/archive/2010/11/24/add-findbugs-in-your-build-file.aspx
http://www.dotblogs.com.tw/yuanchien/archive/2010/11/26/a-sample-android-build-file-for-ant.aspx
https://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test+project

更新:

更加方便的配置,不需要拷贝findbugs-ant.jar:

    <property name="findbugs.home" value="${env.FINDBUGS_HOME}" />    <path id="findbugs_lib">        <fileset dir="${findbugs.home}/lib/">            <include name="*.jar"/>        </fileset>    </path>    <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref="findbugs_lib" />    <target name="findbugs" depends="-compile">        <mkdir dir="reports" />        <findbugs home="${findbugs.home}" output="html" outputFile="reports/${ant.project.name}_findbugs.html">            <auxClasspath path="${android.jar}" />            <auxClasspath>                <fileset dir="${other-dependency-lib-dir}/libs" includes="*.jar" />            </auxClasspath>            <class location="${out.dir}" />            <sourcePath path="${source.dir}" />        </findbugs>    </target>


 

 

第二篇:


Findbugs安装

FindBugs 是什么?
FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式(请参阅 参考资料)。图 1 显示了分析一个匿名项目的结果(为防止可怕的犯罪,这里不给出它的名字):
在FindBugs的GUI中,需要先选择待扫描的.class文件(FindBugs其实就是对编译后的class进行扫描,藉以发现一些隐藏的bug。)。如果你拥有这些.class档对应的源文件,可把这些.java文件再选上,这样便可以从稍后得出的报告中快捷的定位到出问题的代码上面。此外,还可以选上工程所使用的library,这样似乎可以帮助FindBugs做一些高阶的检查,藉以发现一些更深层的bug
 
下载地址:
http://downloads.sourceforge.net/project/findbugs/findbugs%20eclipse%20plugin/1.3.9/edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip?use_mirror=ncu
 
如何安装?
1, 把下载的压缩包解压后,把

 copy到eclipse的plugin目录中去;
2,重新启动eclipse
 
3,打开eclipse->window->Preferences,搜索关键字findbugs,如果能找到配置项,那么表示安装成功,如图:
 
 
怎么用?
findbugs 简单易用,按照下图操作即可;
 
1, 在eclipse package Explorer 右键选择目标工程-> build project
 
2, 选择指定的包或者类进行findbug
 
此时findbugs会遍历指定的包或者类,进行分析,找出代码bug,然后集中显示在 find bugs 的bugs explorer 中,下面我们添加bugs explorer。
 
3,添加findbugs explorer
(eclipse 左下角)
 
4,bugs explorer 添加完毕后,我们就可以查看刚刚找到的bugs了,如图:
 
找出的bug有3中颜色, 黑色的臭虫标志是分类, 红色的臭虫表示严重bug发现后必须修改代码,橘黄色的臭虫表示潜在警告性bug 尽量修改。(附录是各种bug的解释及修改方案,请大家按附表参考修改)
双击bug项目就可以在右边编辑窗口自动打开相关代码文件并连接到代码片段。 点击行号旁边的小臭虫图标后再eclipse下方输出区将提供详细的bug描述,以及修改建议等信息。我们可以根据此信息进行修改

 

 

参考:

http://www.2cto.com/kf/201110/107614.html

http://www.lupaworld.com/code.php?mod=list&itemid=12&path=/spring_3.1.0/spring-build/common&file=findbugs-exclude.xml

 

 

原创粉丝点击