【问题标题】:FindBugs stopped working after upgrading Android Gradle Plugin from 3.1.3 to 3.2.0将 Android Gradle 插件从 3.1.3 升级到 3.2.0 后 FindBugs 停止工作
【发布时间】:2018-10-02 12:20:07
【问题描述】:

我在我的 Android 项目中使用 FindBugs 进行静态代码分析。设置如下:

quality.gradle

plugins.apply('findbugs')

task findbugs(type: FindBugs) {
    ignoreFailures = false
    effort = 'max'
    reportLevel = 'high' // Report only high priority problems.

    classes = files("${project.projectDir}/build/intermediates/classes")
    source = fileTree('src/main/java')

    classpath = files()

    reports {
        xml.enabled = true
        html.enabled = false
    }

    excludeFilter = rootProject.file('quality/findbugs.xml')
} 

build.gradle

subprojects {
    afterEvaluate {
        project.apply from: '../quality/quality.gradle'
        tasks.findByName('findbugs').dependsOn('assemble')
        tasks.findByName('check').dependsOn('findbugs')
    }
}

但是在我将 Gradle Android 插件从 3.1.3 升级到 3.2.0 之后,构建开始失败:

./gradlew clean build

> Task :app:findbugs FAILED
No files to be analyzed

...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:findbugs'.
> Failed to run Gradle FindBugs Worker
   > Process 'Gradle FindBugs Worker 6' finished with non-zero exit value 1

降级到 3.1.3 使构建再次通过。我在 Gradle Android 插件的changelog 中没有找到任何相关内容。谁能指出插件或我的设置有什么问题?

【问题讨论】:

  • 您是否尝试过停止 Gradle 守护进程? ./gradlew --stop,然后再试一次。
  • @stkent 抱歉,没有帮助,同样的问题。

标签: android gradle findbugs


【解决方案1】:

经过一番调查,我发现Java类文件的位置已经从build/intermediates/classes变成了build/intermediates/javac。新的 FindBugs 配置:

task findbugs(type: FindBugs) {
    ...
    classes = files("${project.projectDir}/build/intermediates/javac")
   ...
} 

奇怪的是,Android Gradle 插件 changelog 或 Gradle changelog 中没有提及此重大更改。

【讨论】:

  • 这真的很有帮助。花了几个小时试图弄清楚这个错误是什么:Failed to run Gradle FindBugs Worker 经过大量搜索,我找到了这个答案。非常感谢!
  • 我会补充一点,findbugs 谢天谢地在发布良好的调试信息以帮助诊断问题方面做得很好。您的回答对我有所帮助,但我在运行 --debug 时遇到了另一个问题(这是我自己的错误),它确实很神奇。
猜你喜欢
  • 2015-06-24
  • 2017-06-14
  • 1970-01-01
  • 2023-01-15
  • 1970-01-01
  • 2020-02-01
  • 2013-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多