目录
- 下载、安装
-
- 进入 sdkmanager 所在目录
- 安装构建所需的最小组件
- 执行命令
- 配置
将 Sonar(SonarQube/SonarScanner)集成到 Android 项目中进行代码扫描,是提升安卓工程代码质量的核心手段。 SonarScanner 作为客户端扫描工具,主要负责解析 Android 项目的代码文件、检测代码质量问题,并将完整的扫描结果上报至 SonarQube 服务器,是安卓项目接入 Sonar 扫描的核心工具。
下载、安装
① 下载「命令行工具」而非 Android Studio 访问官方页面: developer.android.com/studio → Command line tools only 选择与你系统匹配的压缩包(Windows/Mac/Linux),大小约 100 MB。
② 解压到任意目录,记住路径 例如:D:\\android-sdk\\cmdline-tools 把 cmdline-tools 文件夹重命名为 latest,最终层级: D:\\android-sdk\\cmdline-tools\\latest\\bin
③ 安装最小必要组件 打开终端,执行:
进入 sdkmanager 所在目录
cd D:\\android-sdk\\cmdline-tools\\latest\\bin
安装构建所需的最小组件
sdkmanager “platform-tools” “platforms;android-34” “build-tools;34.0.0”
执行命令
配置
在项目根目录下添加两个文件 sonar-project.properties(不提交 包含真实的sonar.host.url、sonar.login配置)、 sonar-project.properties.example(提交 的sonar.host.url、sonar.login配置)
| sonar.projectKey | SonarQube 中唯一标识项目的核心参数 | 1.全局唯一,不能与服务器上其他项目重复;2.建议用小写 + 短横线命名;3.一旦确定不建议修改,否则会丢失历史扫描数据 。 |
| sonar.projectName | SonarQube 控制台展示的项目名称 | 1.仅用于可视化展示,支持中文 / 特殊字符;2.可以重复,不影响扫描逻辑;3.建议与项目实际名称一致。 |
sonar-project.properties文件配置
sonar.host.url=http://192.168.3.333:9000/
sonar.login=squ_23hdnjdkd529dfg54dfg457dfg5dfg4fg50dfga
# 项目基础信息
sonar.projectKey=(项目唯一标识)
sonar.projectName=(项目名称)
sonar.projectVersion=1.0
# 从根目录扫描
sonar.sources=.
# 排除所有构建产物 & 非源码
sonar.exclusions=\\
**/target/**,\\
**/generated–sources/**,\\
**/*.jar,\\
**/test–output/**,\\
**/node_modules/**
# Java 编译产物(允许通配)
sonar.java.binaries=app/build/intermediates/javac/app_mainDebug/classes
# Java 版本
sonar.java.source=11
# SCM(Git)
sonar.scm.enabled=true
## sonar.scm.path=/usr/src/.git -Dsonar.scm.provider=git
## sonar.scanner.cache.enabled=true
## sonar.scanner.cache.dir=/opt/sonar-scanner/.sonar/cache
## sonar.scanner.parallel=true
## sonar.scanner.parallel.threads=4
sonar-project.properties.example
sonar.host.url=http://192.168.3.333:9000/
sonar.login=xxxxxxxx
# 项目基础信息
sonar.projectKey=Demo–project
sonar.projectName=Demo–project
sonar.projectVersion=1.0
# 从根目录扫描
sonar.sources=.
# 排除所有构建产物 & 非源码
sonar.exclusions=\\
**/target/**,\\
**/generated–sources/**,\\
**/*.jar,\\
**/test–output/**,\\
**/node_modules/**
# Java 编译产物(允许通配)
sonar.java.binaries=app/build/intermediates/javac/app_mainDebug/classes
# Java 版本
sonar.java.source=11
# SCM(Git)
sonar.scm.enabled=true
## sonar.scm.path=/usr/src/.git -Dsonar.scm.provider=git
## sonar.scanner.cache.enabled=true
## sonar.scanner.cache.dir=/opt/sonar-scanner/.sonar/cache
## sonar.scanner.parallel=true
## sonar.scanner.parallel.threads=4
并在.gitignore中添加忽略配置
sonar–project.properties
这样就ok了。





