Android lint 在 Sonarqube 中没有显示任何问题

Android lint shows up no issues in Sonarqube

我已经将我的项目设置为与 Sonarqube 一起使用。我使用 PMD 和 Checkstyle 进行 运行 测试,所有测试都成功登录到 Sonarqube 控制台。但最后一天,我决定将 Android lint 规则也添加到我的质量配置文件中。我已经激活了新配置文件和 运行 项目中的所有 Lint 规则。现在,当我 运行 项目时,它没有显示此配置文件的任何错误或问题。当我 运行 本地 lint 时,我得到大约 400 个问题。我可能缺少什么?

我在 Gradle 中使用 Sonarqube 插件,在我的服务器上使用 Sonarqube 6.2。我的Sonarqube配置如下

apply plugin: "org.sonarqube"

sonarqube {
//noinspection GroovyAssignabilityCheck
    properties {
//noinspection GroovyAssignabilityCheck
        property "sonar.projectName", "MyProject"
//noinspection GroovyAssignabilityCheck
        property "sonar.projectKey", "Testapplication"
//noinspection GroovyAssignabilityCheck
        property "sonar.projectVersion", "1.0"
//noinspection GroovyAssignabilityCheck
        property "sonar.analysis.mode", "publish"
//noinspection GroovyAssignabilityCheck
        property "sonar.language", "java"
//noinspection GroovyAssignabilityCheck
        property "sonar.sources", "src/main/"
//noinspection GroovyAssignabilityCheck
        property "sonar.profile", "FindBugs"
//noinspection GroovyAssignabilityCheck
        property "sonar.host.url", "http://192.168.21.33:9000"
//noinspection GroovyAssignabilityCheck
        property "sonar.login", "admin"
//noinspection GroovyAssignabilityCheck
        property "sonar.password", "admin"
        property "sonar.exclusions","es.miguelprietos.testapplication/R.java"
        property "sonar.android.lint.report", "build/outputs/lint-results.xml"
        property "sonar.binaries", "build/intermediates/classes/debug"
        property "sonar.java.binaries", "build/intermediates/classes/debug"


    }
}

我使用下面的命令 运行 我的 Sonar 任务(无参数)。

 ./gradlew sonarqube

我的 Gradle 中配置的 Lint 选项如下

   lintOptions {
        // set to true to turn off analysis progress reporting by lint
        quiet true
        // if true, stop the gradle build if errors are found
        abortOnError false
        // if true, only report errors
        ignoreWarnings true
    }

尽量不要忽略警告:

lintOptions {
    // set to true to turn off analysis progress reporting by lint
    quiet true
    // if true, stop the gradle build if errors are found
    abortOnError false
    // do not ignore warnings
    warningsAsErrors true
}

我认为“./gradlew lint”就是您要查找的内容。 如此处所述,它将生成丢失的 XML 报告。 请注意,它可以为每个构建变体生成报告(Debug 默认会生成 build/outputs/lint-results-debug.xml)。因此,您可以调用 lintDebug、lintRelease ...,具体取决于您的构建变体。

并根据生成的文件更改您的报告文件名。