1. 安装 SonarQube 服务器(也可以配置公司的服务器地址)
首先,你需要在本地或服务器上安装并运行 SonarQube 服务器:
- 下载 SonarQube:从 SonarQube 官方网站 下载适合你操作系统的版本。
- 解压并配置 SonarQube:按照官方文档中的说明,配置
sonar.properties
文件,设置数据库连接等。 - 启动 SonarQube:在命令行中运行
./bin/<os>/sonar.sh start
(适用于 Linux 或 macOS)或StartSonar.bat
(适用于 Windows)。
2. 安装 SonarScanner
SonarScanner 是用于执行代码扫描的工具。安装步骤如下:
- 下载 SonarScanner:从 SonarScanner 官方网站 下载适合你操作系统的版本。
- 解压并配置 SonarScanner:将
sonar-scanner
添加到系统的环境变量中(PATH
)。
环境变量配置PATH,E:\Developer\sonar-scanner-6.1.0.4477-windows-x64\bin
可以在命令行运行sonar-scanner -v查看环境变量配置是否成功。
- 配置
sonar-scanner.properties
文件,设置 SonarQube 服务器的地址。例如:
sonar.host.url=http://localhost:9000
如果是配置的服务器地址,如下:
sonar.host.url=(你的服务器地址)
sonar.login=(你的用户token)
用户token获取方法:
登录服务器SonarQube
点击右上角的用户名,选择 My Account > Security > Generate Tokens。输入一个 Token 名称并点击 Generate。记下生成的 Token,因为它将只显示一次。
3. 配置 Android 项目
在你的 Android 项目根目录下,创建一个名为 sonar-project.properties
的文件,内容如下:
# 必须的属性
sonar.projectKey=YourProjectKey
sonar.projectName=YourProjectName
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
# 源代码目录(这里可以逗号分开配置多个)
sonar.sources=app/src/main/java
# 必要的 Java 编译文件路径
# 下面这个是配置生成的.class文件位置,因为SonarQube是扫码.class文件的
sonar.java.binaries=baseapp/build/intermediates/javac/debug/classes
# sonar.java.libraries=app/build/intermediates/exploded-aar/**/*.jar,app/build/intermediates/exploded-aar/**/*.aar
4. 执行扫描
-
打开命令提示符:
在项目根目录(包含sonar-project.properties
文件的目录)下打开命令提示符。 -
运行 SonarScanner:
执行以下命令开始扫描:sonar-scanner
5. 查看分析结果
- 扫描完成后,打开浏览器访问
http://localhost:9000(或者服务器部署的地址)
,登录 SonarQube 的 Web 界面,在项目列表中查看刚才扫描的结果和分析报告。