AndroidStudio SonarLint和SonarQube的使用

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了AndroidStudio SonarLint和SonarQube的使用脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

环境:搭建 windows 本地环境

简介

SonarQube是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码Bug。它可以与您现有的工作流程集成,以支持跨项目分支和拉取请求的持续代码检查。

环境要求

运行 SonarQube 的唯一先决条件是在你的机器上安装 Java 11(oracle JRE 11 或 OPEnJDK 11)且配置了环境变量。如果未安装Java 11 ,SonarQube(Version: 9.1)服务启动失败;

下载SonarQube

Download | SonarQube

下载好是一个zip压缩文件,直接解压到自己想要的目录既可以;

启动SonarQube服务

找到 安装目录binwindows-x86-64,点击StartSonar.bat既可启动SonarQube服务;

浏览器中输入

http://localhost:9000 或http://127.0.0.1:9000 即可进入可视化的SonarQube服务界面;初始账号密码都是admin;

在网页端SonarQube创建项目

1,点击Manually,手动创建项目

AndroidStudio SonarLint和SonarQube的使用

2,填写项目名称和密钥,密钥可以使用项目名称或者自定义都可以

AndroidStudio SonarLint和SonarQube的使用

 3,点击Set Up进入,再点击Locally选项

AndroidStudio SonarLint和SonarQube的使用

4,输入要生Token的内容,例如输入:test,点击Generate生成Token,点击继续;

AndroidStudio SonarLint和SonarQube的使用

5,这是最后一步,点击Gradle

AndroidStudio SonarLint和SonarQube的使用

注意:以上设置要记住PRoject display name(项目名称)、Project key(密钥)、生成的Token,后面AndROIdStudio关联SonarQube服务的时候要用;

踩坑之路

AndroidStudio连接到SonarQube

前言

由于启动SonarQube需要JDK11,所以把Java的环境变量改成JDK11(之前是JDK 8),改了之后如果AndroidStudio是老的版本比如4.1.1之前的版本,可能导致Android Studio启动不了,但是AndroidStudio在改之前已经打开了不影响继续使用;如果是目前最新的AndroidStudio 2020.3.1版本不影响,AndroidStudio 2020.3.1安装时自带jre就是jre11;踩了很多坑才总结者段话;

1,AndroidStudio安装SonarLint插件

具体步骤及使用参考:AndroidStudio SonarLint安装及使用_ezconn的博客-CSDN博客

2,项目下的build.gradle中添加插件

classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'

3,;module 级别的build.gradle(:app)中添加

@H_406_92@apply plugin: 'org.sonarqube'

sonarqube {
    properties {
        //Sonar服务器地址
    property "sonar.host.url", "http://localhost:9000"
    //Token模式
    //property "sonar.LOGin","07704f4ca9c20492de2b5b7814a1c0a4ebc6731c"
    //账号密码模式
    property "sonar.login","SonarQube 账号"
    property "sonar.password","SonarQube 密码"
    property "sonar.sourceEncoding", "UTF-8"
    property "sonar.projectKey", "Test_Sonar"
    property "sonar.projectName", project.name

    //需要扫描的上传检测代码的模块,可以选择也可以配置哪一些需要或者不需要上传的模块(这里指APP模块下面的java包里面的全部)
    property "sonar.sources", "src/main/java"
    property "sonar.projectVersion", project.version

    }
}

4,Settings —> Tools —> SonarLint ,点击“+”号

AndroidStudio SonarLint和SonarQube的使用

 5,填写自定义名称(例如Test),选择sonarqube选项,填写SonarQube服务地址,例如本地SonarQube服务地址http:localhost:9000或者http://127.0.0.1:9000

AndroidStudio SonarLint和SonarQube的使用

 6,点击下一步,选择Login / Password

AndroidStudio SonarLint和SonarQube的使用

7,输入SonarQube服务的账号和密码;其他一路下一步就好,最后点击finish;

8,点击Project Settings ,在Connection中找到刚才设置的Connection Name 名称;

AndroidStudio SonarLint和SonarQube的使用

9,点击SeArch in list..同步SonarQube服务端项目;Project :会有Test_Sonar可以选择显示;设置好Connection和Project选项之后点击OK;

10,Terminal 终端输入

gradlew sonarqube

AndroidStudio不在使用SonarQube

File ->Settings -> Tools -> SonarLint -> Project Settings 取消勾选Bind project to SonarQube/SonarCloud即可;

其他

AndroidStudio 版本是2020.3.1,如果AndroidStudio中使用的Gradle是高版本的,比如gradle是7.0.2 ,AGP是 7.0.3;那么Gradle SDK就要使用jre11;因为Gradle工具是groovy语言写的,而groovy也是基于JVM的语言,所以使用和运行Gradle也需要jre版本要求;

Java 8 Java11 都有安装,且环境变量配置的是Java11;

异常

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

解决办法:gradle.properties文件中加入org.gradle.java.home= D:\IDE\jdk11(自己本机Java11安装目录,注意没有到bin目录),可能是因为执行 gradlew sonarqube 命令时AGP获取是gradle.properties文件中配置的Java 环境;

SonarQube文档

SonarQube Documentation | SonarQube Docs

脚本宝典总结

以上是脚本宝典为你收集整理的AndroidStudio SonarLint和SonarQube的使用全部内容,希望文章能够帮你解决AndroidStudio SonarLint和SonarQube的使用所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。