Findbugs是一款很棒的软件,我的团队在处理我们的 Android 项目时使用它。在 Eclipse 中,一切都很好而且很闪亮,但是现在我们正在尝试自动化我们的构建,ant
并为每个构建自动生成 Findbugs 结果。
好像没那么难。我遵循了本教程:
https
://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test+project#BuildinganAndroidappandtestproject-FindBugs
一个小问题是我必须更改${android.jar}
为${project.target.android.jar}
.
更糟糕的部分是The following classes needed for analysis were missing:
来自我们使用的库项目的类的警告。其中一些是我们自己的,我们也想用 Findbugs 扫描它们。更复杂的是,其中一个库使用了另一个库(也是我们自己的,需要扫描),所以它看起来像这样:
Project A --uses--> Library B --uses--> Library C
在这里,我认为由于 Android SDK 可以处理所有这些依赖项(当我ant debug
为项目 A 发布库 C 时已编译),我可以以某种方式利用它,获取我的项目所依赖的库列表并将其提供给 findbugs 任务。不幸的是,我没有做到这一点。
现在我手动输入所有库,一些进入class
findbugs 任务的属性,一些进入auxClasspath
,这有一个好处,我只能分析项目所依赖的一些库。我仍然希望我最初尝试做的事情是可能的。谁能告诉我如何提取路径元素