1. 程式人生 > >Jenkins+Gradle+Grovvy實現Android自動化構建及加固

Jenkins+Gradle+Grovvy實現Android自動化構建及加固

上次配置了這個環境,也進行了測試,但忙於其他事情了,今日抽空總結一下。

Jenkins 下載與安裝配置

下載這裡提供兩種方式:

安裝配置

1.將下載的jenkins.war放到Tomcat下的webapps目錄下,然後啟動Tomcat。

2.在瀏覽器中訪問”Tomcat訪問地址/jenkins”即可安裝,因為我的Tomcat裝在本機,並且埠為8080,所以訪問http://localhost:8080/jenkins/即可進行安裝。

3.開啟瀏覽器訪問http://locahost:8080,首次執行會要求輸入管理員密碼,Jenkins在首次執行時生成的,會在控制檯打印出來或者按照頁面提示的檔案路徑檢視管理員密碼。如下圖

4.輸入密碼之後點選continue選擇要安裝的外掛

5.由於Jenkins的外掛之間存在依賴關係,並且Jenkins不會幫我們自動安裝依賴的外掛,所以外掛安裝過程比較容易出錯,所以我們建議自己選擇要安裝的外掛,不選擇Jenkins建議安裝的外掛。點選Select plugins to install進入下一個頁面(直接安裝建議的也沒啥,後期需要啥再自己補)

6.首先把預設選中的外掛都取消掉,然後選擇我們要安裝的外掛,對於Android打包來講一般需要的外掛有

_Active Directory plugin

_Build Pipeline Plugin

_Build Timeout

_build-name-setter

_CloudShell Sandbox Plugin

_Email Extension Plugin

_Git plugin

_GitHub plugin

_Gradle Plugin

_Groovy Events Listener Plugin

_Groovy Postbuild

_Pipeline

_PowerShell plugin

_Publish Over SSH

_SSH plugin

_Subversion Plug

_Timestamper

_Workspace Cleanup Plugin

如果外掛安裝過程中由於依賴關係造成安裝失敗,可以根據錯誤資訊先安裝依賴的外掛再重新安裝需要的外掛。(如果有找不到的也沒有關係)

7.外掛安裝完成之後按照提示建立一個管理員賬號即可使用,登入之後進行首頁面。

8.配置環境變數,需要配置的環境變數有Android Home、JDK目錄、Gradle目錄。

選擇系統配置→環境配置→全域性屬性

然後在系統配置→全域性工具配置

配置專案打包指令碼

專案的打包指令碼會在各自專案中自己生成,提交到svn(可以略過)

配置和安裝就完成了。

使用步驟

1.在Jenkins中點選新建,輸入Job名字,由於Jenkins會根據Job名字生成目錄所以建議使用英文不要使用中文,然後選擇構建一個自由風格的軟體專案,然後點選OK進入配置頁面

一般配置

原始碼管理(怎麼選擇看的很清楚)

構建

構建後操作

groovy指令碼重點解釋一下:

我這裡採用的是360加固

def space = " "
def JAVA = "java"
def jgJarPath = "D:/360jiagu/jiagu/jiagu.jar"//jar包路徑
def jar = "-jar" + space + jgJarPath
def login = "-login"
def username = "18130612068"//username
def password = "yfg8175349"//password
def importsign = "-importsign" //import sign
def keyStorePath = "D:/key/keystore.jks"//簽名路徑
def keyStroePassword = "ahhx965432"//keystore password
def alias = "key0" //alias
def alias_password = "ahhx965432" //alias password
def showSign = "-showsign" //show sign
def jiagu = "-jiagu" //jiagu
def inputAPKpath = "C:/Users/yfg10/.jenkins/workspace/test/build/output/release.apk" //input apk path
def outputPath = "D:/JenkinsWorkSpace/workspace/testjenkins" //output apk path
def autosign = "-autosign"//sign


def defaultJG = JAVA + space + jar + space
def loginJG = defaultJG + login + space + username + space + password
def signJG = defaultJG + importsign + space + keyStorePath + space + keyStroePassword + space + alias + space + alias_password
def showSignJG = defaultJG + showSign
def jiaguJG = defaultJG + jiagu + space + inputAPKpath + space + outputPath + space + autosign


String[] jiagus = Arrays.asList(loginJG, signJG, showSignJG,  jiaguJG)

jiagus.each {
    println "${it}"
    Process process=it.execute();
    println "${process.err.text}"
    println "${process.text}"
}

加固包的路徑、使用者名稱、密碼、apk的簽名檔案路徑、密碼、別名、加密前後安裝包的路徑等需要自行修改。

(對應的加固包可在360加固官網下載,然後使用教程先用命令列加密,確保jar的可用性)

2.Job配置一共分為六個部分:General、原始碼管理、構建觸發器、構建、構建後操作,設定完成後,儲存,進入主面版

3.立即構建

4.點選專案任務進入控制檯介面檢視專案構建日誌資訊

5.在tomcat 日誌輸出日誌可以看到apk 加固資訊

6.最後,專案裡面的groovy 指令碼配置加固後的apk 輸出到指定路徑,直接在指定目錄(你的Jenkins的工作空間)就可以看到360加固後的apk。

寫在最後

寫的有點亂,歡迎指出錯誤和改正意見。