有没有人成功地在Android Studio项目中使用SonarQube社区IntelliJ插件或“官方”SonarQube IntelliJ插件显示静态代码分析结果?
这两个插件中的第二个需要Maven,但第一个应该是不依赖于特定构建工具的。
我以前成功地在我的项目上运行过SonarRunner,但现在无法做到。但如果我不能在IDE中看到结果,那么让它再次正常工作就没有太大意义了。
有没有人成功地在Android Studio项目中使用SonarQube社区IntelliJ插件或“官方”SonarQube IntelliJ插件显示静态代码分析结果?
这两个插件中的第二个需要Maven,但第一个应该是不依赖于特定构建工具的。
我以前成功地在我的项目上运行过SonarRunner,但现在无法做到。但如果我不能在IDE中看到结果,那么让它再次正常工作就没有太大意义了。
简短回答:是的,您可以使用SonarQube社区版IntelliJ插件。
详细回答:
假设您有一个类似于以下代码的build.gradle文件:
apply plugin: "sonar-runner"
sonarRunner {
sonarProperties {
// can be also set on command line like -Dsonar.analysis.mode=incremental
property "sonar.host.url", "http://your.sonar.server:9000"
property "sonar.analysis.mode", "incremental"
property 'sonar.sourceEncoding', 'UTF-8'
property 'sonar.language', 'java'
property 'sonar.profile', 'my_profile'
}
}
subprojects {
sonarRunner {
sonarProperties {
properties["sonar.sources"] += "src/main/java"
}
}
}
....
$ ./gradlew sonarRunner
$ cat build/sonar/sonar-report.json
打开 Android Studio
选择"文件" -> "设置" -> "插件",然后在底部输入“sonarqube”,点击“浏览存储库”。
重新启动 Android Studio。
现在右键单击项目 -> 分析 -> Sonarlint -> 使用 SonarLint 分析所有文件
结果将显示在底部的 Sonarlint 视图中
Sonar Runner现已过时,被Sonarqube Scanner取代。
在您的系统中安装Sonarqube后,您需要将Sonarqube插件添加到项目的应用程序模块gradle文件中。
plugins {
id "org.sonarqube" version "2.2.1"
}
sonarqube {
properties {
property "sonar.projectName", "SonarqubeDemo"
property "sonar.projectKey", "SQKey"
property "sonar.sources","src/main/java"
property "sonar.language","java"
property "sonar.sourceEncoding", "UTF-8"
// property "sonar.exclusions", "src/main/java/com/foo/Foo.java"
}
}
构建或同步项目后,打开命令提示符并导航到应用程序模块目录,其中包含您的gradle文件。
执行gradle sonarqube
并等待构建完成
以下是一篇文章的链接,其中详细解释了如何在Android中集成SonarQube和SonarQube扫描仪。