Android Studio 使用 Sonarqube 扫描代码
准备工作
https://www.sonarqube.org 去到sonarqube官网下载最新的版本,解压。
使用平台与配置
Sonarqube支持各类平台
以下以windows平台为例 进入windows-x86-64
运行
注意:此时会提示要求jdk11,所以需要去下载jdk11并且指定sonarqube的jdk版本,打开wrapper.conf文件*
找到wrapper.java.command 指定为安装的jdk路径 保存后重新运行StartSonar.bat 完成本地sonarqube的部署
查看sonarqube
打开http://localhost:9000
默认为英文,先登录 默认用户名和密码都是admin 登录成功之后按照以下指引可以安装中文语言包(可能需要翻墙搜索)
安装后便可以显示为中文
Android Studio中的配置
在项目的build.gradle下配置
apply plugin: “org.sonarqube”
classpath “org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7”
在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://localhost:9000(图中打错了,按照这里来)
systemProp.sonar.login=admin
systemProp.sonar.password=admin
至此配置完成
运行代码扫描
在terminal下执行命令
gradlew sonarqube便开始扫描代码
等待代码扫描之后上传到http://localhost:9000 需要等待任务分析完成才可以查看
一些问题
如果公司内部自行搭建了sonarqube 仍然需要启动StartSonar.bat先启动服务
在Android Studio中的gradle.properties中修改systemProp.sonar.host.url为公司内部的url,
运行扫描时若提示无法连接到这个url,必须将下面两项
注释掉,重新运行命令扫描即可
最后
Sonarqube规则比较严格,有一些你可能觉得是没必要提示的,不过还是学到了一些比较规范的写法。