Android Studio 使用 Sonarqube 掃描代碼
- 準備工作
-
- 使用平台與配置
- 檢視sonarqube
- Android Studio中的配置
- 運作代碼掃描
- 一些問題
- 最後
準備工作
https://www.sonarqube.org 去到sonarqube官網下載下傳最新的版本,解壓。
使用平台與配置
Sonarqube支援各類平台
以下以windows平台為例 進入windows-x86-64
運作
注意:此時會提示要求jdk11,是以需要去下載下傳jdk11并且指定sonarqube的jdk版本,打開wrapper.conf檔案*
找到wrapper.java.command 指定為安裝的jdk路徑 儲存後重新運作StartSonar.bat 完成本地sonarqube的部署
檢視sonarqube
打開http://localhost:9000
預設為英文,先登入 預設使用者名和密碼都是admin 登入成功之後按照以下指引可以安裝中文語言包(可能需要翻牆搜尋)
安裝後便可以顯示為中文
Android Studio中的配置
在項目的build.gradle下配置
apply plugin: “org.sonarqube”
classpath “org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7”
在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
至此配置完成
運作代碼掃描
在terminal下執行指令
gradlew sonarqube便開始掃描代碼
等待代碼掃描之後上傳到http://localhost:9000 需要等待任務分析完成才可以檢視
一些問題
如果公司内部自行搭建了sonarqube 仍然需要啟動StartSonar.bat先啟動服務
在Android Studio中的gradle.properties中修改systemProp.sonar.host.url為公司内部的url,
運作掃描時若提示無法連接配接到這個url,必須将下面兩項
注釋掉,重新運作指令掃描即可
最後
Sonarqube規則比較嚴格,有一些你可能覺得是沒必要提示的,不過還是學到了一些比較規範的寫法。