关于Android Studio中使用Sonarqube进行代码扫描

Android Studio 使用 Sonarqube 扫描代码

  • 准备工作
    • 使用平台与配置
    • 查看sonarqube
    • Android Studio中的配置
    • 运行代码扫描
    • 一些问题
    • 最后

准备工作

https://www.sonarqube.org 去到sonarqube官网下载最新的版本,解压。

使用平台与配置

Sonarqube支持各类平台
关于Android Studio中使用Sonarqube进行代码扫描_第1张图片
以下以windows平台为例 进入windows-x86-64
运行关于Android Studio中使用Sonarqube进行代码扫描_第2张图片
注意:此时会提示要求jdk11,所以需要去下载jdk11并且指定sonarqube的jdk版本,打开wrapper.conf文件*
关于Android Studio中使用Sonarqube进行代码扫描_第3张图片
找到wrapper.java.command 指定为安装的jdk路径 保存后重新运行StartSonar.bat 完成本地sonarqube的部署

查看sonarqube

打开http://localhost:9000
关于Android Studio中使用Sonarqube进行代码扫描_第4张图片
默认为英文,先登录 默认用户名和密码都是admin 登录成功之后按照以下指引可以安装中文语言包(可能需要搜索)

关于Android Studio中使用Sonarqube进行代码扫描_第5张图片
安装后便可以显示为中文

Android Studio中的配置

在项目的build.gradle下配置

apply plugin: “org.sonarqube”
classpath “org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7”
关于Android Studio中使用Sonarqube进行代码扫描_第6张图片
在app下的build.gradle下配置(最外层即可)

sonarqube {
properties {
property “sonar.sourceEncoding”, “UTF-8”
property “sonar.projectKey”, “projectkey” //projectkey
property “sonar.projectName”, project.name //projectname
property “sonar.sources”, “src/main/java” //源码,写这个就行
property “sonar.projectVersion”, project.version //版本,随意
property “sonar.binaries”, “build/intermediates/classes”
}
}

在gradle.properties文件下配置

systemProp.sonar.host.url=http://locahost:9000
systemProp.sonar.login=admin
systemProp.sonar.password=admin
在这里插入图片描述
至此配置完成

运行代码扫描

在terminal下执行命令
gradlew sonarqube便开始扫描代码

关于Android Studio中使用Sonarqube进行代码扫描_第7张图片
等待代码扫描之后上传到http://localhost:9000 需要等待任务分析完成才可以查看
关于Android Studio中使用Sonarqube进行代码扫描_第8张图片

一些问题

如果公司内部自行搭建了sonarqube 仍然需要启动StartSonar.bat先启动服务
在Android Studio中的gradle.properties中修改systemProp.sonar.host.url为公司内部的url,
运行扫描时若提示无法连接到这个url,必须将下面两项
在这里插入图片描述
注释掉,重新运行命令扫描即可

最后

Sonarqube规则比较严格,有一些你可能觉得是没必要提示的,不过还是学到了一些比较规范的写法。

你可能感兴趣的:(Android,移动开发)