接着上一篇Sonarqube Ubuntu平台配置指南,搭建好了Sonarqube平台之后,如果我们要用来分析android app代码,要在服务器上安装sdk环境,并且还需要进行配置,并且app端的构建脚本里也要进行对接。
Android sdk 安装
请自行参考ubuntu安装android sdk,安装之后,设置 $ANDROID_HOME为sdk的安装目录
Android Lint插件安装
插件安装参考上一篇搭建指南里的中文语言包,在应用市场里搜索Adroid Lint,点击安装。
如果安装失败,也可以到sonarqube官网,搜索android-sonar-plugin手动下载,并放到$SONAR_HOME/extensions/plugin下面,重启服务即可。
语言分析规则定制
android app的代码是java代码,默认的扫描规则是内置的java规则,我们添加了Android Lint插件之后,还会增加Android规则,两者都会生效,但是android lint规则集中,bug 和 缺陷规则处于未激活状态,并且插件内置的规则是无法修改的,我们需要新增规则集 Android。
点击 质量配置->创建 , 选择语言为java,填写名称为Android保存,并设为默认。
到代码规则里,选择Andoid进行规则激活和关闭。
生成ProjectKey
登录sonarqube平台,点击 配置->权限->用户->令牌,创建一个令牌,保存令牌的随机字符串,后面项目中配置需要。
Android app构建脚本配置
仓库依赖添加
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
添加依赖的类路径
dependencies {
classpath"org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.1"
}
部署插件
apply plugin:"org.sonarqube"
添加sonarqube配置
subprojects {
sonarqube {
properties {
property "sonar.host.url", "http://192.168.3.66:9000/" // SonarQube服务器地址
property "sonar.projectName",project.name //projectname
property "sonar.login","f35a2842e9b1732632e15e719058ab3de7b332e2" //之前生成的projectkey
property "sonar.language","java" //语言
property "sonar.sourceEncoding","UTF-8" //编码
property "sonar.sources", android.sourceSets.main.java.srcDirs//源码,写这个就行
property "sonar.projectVersion","1.0.0" //版本,随意
}
}
}
执行扫描
在项目路径下执行
./gradlew sonarqube
如果有Jenkins,可以通过jenkins拉一个构建分支,并检测代码合并动作,自动扫描,在此不多做介绍。













网友评论