天天看點

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

Android Studio 使用 Sonarqube 掃描代碼

  • 準備工作
    • 使用平台與配置
    • 檢視sonarqube
    • Android Studio中的配置
    • 運作代碼掃描
    • 一些問題
    • 最後

準備工作

https://www.sonarqube.org 去到sonarqube官網下載下傳最新的版本,解壓。

使用平台與配置

Sonarqube支援各類平台

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

以下以windows平台為例 進入windows-x86-64

運作

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

注意:此時會提示要求jdk11,是以需要去下載下傳jdk11并且指定sonarqube的jdk版本,打開wrapper.conf檔案*

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

找到wrapper.java.command 指定為安裝的jdk路徑 儲存後重新運作StartSonar.bat 完成本地sonarqube的部署

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

檢視sonarqube

打開http://localhost:9000

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

預設為英文,先登入 預設使用者名和密碼都是admin 登入成功之後按照以下指引可以安裝中文語言包(可能需要翻牆搜尋)

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

安裝後便可以顯示為中文

Android Studio中的配置

在項目的build.gradle下配置

apply plugin: “org.sonarqube”

classpath “org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7”

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

在app下的build.gradle下配置(最外層即可)

sonarqube {

properties {

property “sonar.sourceEncoding”, “UTF-8”

property “sonar.projectKey”, “projectkey” //projectkey

property “sonar.projectName”, project.name //projectname

property “sonar.sources”, “src/main/java” //源碼,寫這個就行

property “sonar.projectVersion”, project.version //版本,随意

property “sonar.binaries”, “build/intermediates/classes”

}

}

在gradle.properties檔案下配置

systemProp.sonar.host.url=http://localhost:9000(圖中打錯了,按照這裡來)

systemProp.sonar.login=admin

systemProp.sonar.password=admin

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

至此配置完成

運作代碼掃描

在terminal下執行指令

gradlew sonarqube便開始掃描代碼

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

等待代碼掃描之後上傳到http://localhost:9000 需要等待任務分析完成才可以檢視

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

一些問題

如果公司内部自行搭建了sonarqube 仍然需要啟動StartSonar.bat先啟動服務

在Android Studio中的gradle.properties中修改systemProp.sonar.host.url為公司内部的url,

運作掃描時若提示無法連接配接到這個url,必須将下面兩項

關于Android Studio中使用Sonarqube進行代碼掃描準備工作

注釋掉,重新運作指令掃描即可

最後

Sonarqube規則比較嚴格,有一些你可能覺得是沒必要提示的,不過還是學到了一些比較規範的寫法。