如何在android工作室中集成sonarqube?

时间:2017-05-05 17:55:05

标签: android sonarqube

我们如何在android studio中集成sonarqube?我使用sonarqube进行了静态代码分析。解释我们如何实现这一目标。有很多链接可用于整合声纳和声纳,但是过时或不足以完成工作。

4 个答案:

答案 0 :(得分:28)

Sonarqube是服务器端的静态代码分析工具。编写干净且高质量的代码非常有用。 您应该在localhost或服务器上运行sonarqube。创建一个新项目,提供名称和唯一ID,这个名称和唯一性我们将用于识别我们的服务器以及我们的用户名和密码。很少有东西需要在服务器端设置,如 -

  1. 创建用户。
  2. 创建具有唯一ID的新项目。
  3. 现在在Android工作室,我们将使用 gradle sonarqube 命令用sonarqube分析我们的项目。

    在运行gradle sonarqube命令之前,需要完成以下步骤 -

    1. 首先,我们需要在我们的机器上安装gradle。
    2. (可选)在android studio中安装sonarqube插件。转到 -
    3. 档案 - >设置 - >插件 - >然后键入sonarqube并单击         在底部的浏览存储库中。

      1. 打开build.gradle文件,添加插件sonarqube.org并添加 以下属性 -

        /exports\.*"\s*=\s*.+/g
      2. 打开项目gradle文件并在依赖项中添加 -

        apply plugin: "org.sonarqube"
        
        sonarqube {
            properties {
                property "sonar.projectName", "MyProject"
                property "sonar.projectKey", "com.example.myproject"
                property "sonar.host.url", "http://192.114.1.1:9000"
                property "sonar.language", "java"
                property "sonar.sources", "src/main/"
                property "sonar.login", "username"
                property "sonar.password", "password"
            }
        }    
        
      3. 在存储库中添加 -

        dependencies {
            classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.1"
        }
        
      4. 现在在Android工作室端完成设置,运行命令 - gradle sonarqube 进行分析。

        如果在团队中工作并希望为所有开发人员创建不同的分支,请运行命令 - gradle sonarqube -Dsonar.branch = {YouName}

答案 1 :(得分:2)

如果您使用的是Gradle 3.X,请按照以下步骤操作:

1.-从以下位置下载并在本地主机Sonarqube上运行:https://www.sonarqube.org/downloads/

2.-在gradle.properties上:

systemProp.sonar.host.url=http://localhost:9000
systemProp.sonar.login=XXXXXXXXXXXXXXXX (put your token)

3。-在build.gradle(Module:app) 内部存储库:

maven {
            url "https://plugins.gradle.org/m2/"
        }

内部依赖项:

classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7"

最后在buildscript之外:

apply plugin: "org.sonarqube"

4.-运行命令:gradle sonarqube

5.-构建成功后等待5分钟,以查看结果报告

答案 2 :(得分:0)

集成Sonarqube可能有点困难,我为Android编写了Gradle插件以使其变得更容易。

这里是有关此的文章:https://proandroiddev.com/android-analyzer-df0e4d80dc74

这里是插件:https://github.com/pinchbv/android-analyzer

答案 3 :(得分:0)

如果有人发现 scm 提供程序自动检测失败,他们可以通过写入禁用 scm:

            property "sonar.scm.disabled", "True"

在 build.gradle 文件中的属性部分