SonarQube工具在Android开发中的相关配置和使用
文章目录
前言
本篇文章主要讲解了关于代码质量检查工具SonarQube在检查Android程序时,相关的安装和插件配置,希望能够为大家提供到一定的帮助
一、相关软件安装
要对Android 开发程序进行检查,需要SonarQube、sonar-scanner以及MySQL的安装和相关环境配置。Android开发环境Android Studio自然是必要的这里不过多赘述,
1、安装SonarQube
社区下载地址:链接: SonarQube下载地址:https://www.sonarqube.org/downloads/.
资源是免费的,版本按自己喜好下载即可
下载好解压到规定的文件夹
之后的步骤将以SonarQub 7.6版本为例。
2、安装sonar-scanner
社区下载地址:链接: sonar-scanner下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner.
下载后解压安装即可。
3、安装MySQL
社区下载地址:链接: MySQL下载地址:https://www.mysql.com/downloads/.
1) 双击下载好的mysql安装文件“mysql-installer-community-5.7.14.0.msi”打开安装程序,打开后需要稍等一下 ;
2)选择安装类型(根据个人需要) ;
3)我只需要安装mysql server,所以选择最后一项“Custom”,选择Custom之后左边的安装流程和右边的描述文字会改变,然后点击"Next"按钮继续 ;
4)在这里我们需要从安装程序提供的可安装的产品(Products)中选择我们需要的mysql server
我们展开Available Products里的第一项“MySQL Servers”,依次展开其子结点,直到其终端结点,我的操作是64位的,所以选中“MySQL Server 5.7.14 - X64” ;
然后点击绿色的向右箭头,将当前Product移动需要安装的列表,然后在右边展开“MySQL Server 5.7.14 - X64”项,取消“Development Components”的勾选(因为我们只需要安装mysql server),之后点击“Next”按钮进入下一步
5)点击“Execute”(执行)开始安装,安装过程中会显示安装的Progress(进度),等待安装完成后Status会显示Complete,mysql图标前会出现一个绿色的勾,然后点击“Next”按钮进入产品配置界面 ;
6)点击“Next”按钮进入MySQL Server 的配置
Config Type选择“Development Machine”,选择此项将使用较小的内容来运行我们的mysql server,对应小型软件、学习是完全够用的。之后“Next”
在Root Account Password设置数据库root账号的密码,我填的是123456所以程序提醒我密码强度为弱,我们需要牢记这个密码,然后点击“Next”
这里可以设置mysql server的名称和是否开机启动,我把名称改为了“MySQLZzz1”,取消了开机启动,其它的没改,点击“Next”
点击“Next”
此界面将之前设置的配置内容应用到我们的mysql server,点击“Execute”,等待完成就可以了
配置完成,点击“Finish”完成配置环节 ;
7)配置完成后将回到安装程序,我们点击“Next”继续
提示我们安装完成,点击“Finish” ;
8) 在上一步点击“Finish”之后电脑是如此的平静,让人不知道接下来干什么!按以往安装软件的经验这个时候电脑应该要自动启动刚刚安装好的软件的。所以我在进程里找了一下,确实没有发现类似mysql的进程,那么我们进入下一步。
二、相关环境配置
1、SonarQube环境配置
1)编辑sonar.properties文件
找到解压好的文件:
打开后编辑,加入以下代码。大概加再28行后就行了
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
代码解析:
第一行sonar.jdbc.url: 链接myslq数据库地址,数据库名。sonar问号后面是格式相关;
第二/三行: mysql的账号/密码;
第四行: 支持的编码格式;
第五/六行: sonar登录时的账号密码;默认就是admin
2)启动SonarQube
以上配置好之后,找到bin\window-x86-64 下的StartSonar.bat启动
启动成功页面:
在浏览器输入: localhost:9000
以下图是因为跑过代码了有数据,点登录即可到登录页面;
输入admin/admin登录;
2、sonar-scanner环境配置
1)配置系统环境变量
新建变量名: SONAR_RUNNER_HOME
变量值: D:\sonar-scanner-3.3.0.1492-windows (安装包解压的路径)
Path :%SONAR_RUNNER_HOME%\bin
2)验证sonar-scanner是否安装完成:
使用cmd输入: sonar-scanner –v
3)编辑sonar-scanner.properties文件
打开之后,加入以下代码
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
注意最后一句代码可以取消的原来的注释;代码解析参考已编辑过的sonar.properties文件
2、MySQL环境配置
安装好相关的Mysql版本后,需要在数据库中创建一个数据库,命名为sonar
先cmd打开Dos系统,输入: mysql –uroot –p 再输入安装mysql时的密码即可登录mysql,登录
1)创建数据库名sonar:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
2)创建一个sonar用户,设置用户名账号密码为sonar:
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
3)把已创建的数据库sonar的所有权限赋予给sonar用户:
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
查看当前所有数据库名语句:
show databases;
为了管理方便,可以准备一个Navicat Premium去查看,刚创建的库是没有表数据的,配置完后面步骤后,启动SonarQube后,会把表数据写入到sonar数据库;
三、在Android studio中安装使用sonar插件
1)打开Android studio文件夹下的build.gradle文件
2)在build.gradle文件中添加三行代码:
plugins{
id “org.sonarqube” version “2.6” //取决于安装的版本
}
在位置上,添加的代码之前只能有import语句以及buildscript{}代码,其余代码都不能在添加的代码之前;
3)在android studio根目录下打开Windows PowerShell窗口,执行 ./gradlew sonarqube 指令
成功执行截图
4)然后打开浏览器,输入localhost:9000,登录后就可看到项目扫描的报告
总结
之后就可以在Android Studio中使用SonarQube插件对代码进行检查了。