標籤:
一、簡介
android app 自動構建伺服器用於自動下載app代碼、自動打包、發布,要建立這樣的伺服器,關鍵要解決以下幾個問題:
1. android app 自動化打包
android 的打包一般是人工通過eclipse或者studio的ui介面打包的,如果要讓系統自動打包,必須在控制台環境下;
只要按照 google 的文檔,把 eclipse 或者 studio 工程轉化為 ant 或者 gradle 工程,就可以在控制台環境下打包了;
這裡,我們選擇 ant,主要是它容錯好,遇到圖片格式等問題不會中斷整個進程,而我們在打包 gradle 工程的時候,它無論遇到什麼錯誤都會中斷整個進程(由於時間緊,我們沒有仔細尋找改變 gradle 中斷的方法,如果有網友知道可以告訴我)。
2. 任務提交方式簡單
既然是自動化構建伺服器,就應該有一個介面友好、配置方便的任務提交 UI。在不知道 jenkins 前,我們自己編寫 UI 系統,有了 jenkins 後就方便多了,只需要簡單配置就可以把構建伺服器與 jenkins 整合起來,利用 jenkins 功能強大的視覺化檢視管理構建服務。
註:
android app 構建系統需要開啟 ssh 服務,並且編寫一個能傳入參數、傳出結果,而且能完成下載代碼、打包、發布到 ftp 的構建指令碼,通過 ssh 服務和構建指令碼,構建伺服器就能與 jenkins 整合了;
二、下面是我建立的Android APP自動構建伺服器詳細介紹
任務提交介面:
SVN:
FTP:
1)系統架構
作業系統:Ubuntu Server 14
應用環境:android sdk, ant, jdk
2)構建過程
1. 提交打包任務
在CI上點擊 kxd_android_01_svn,開始檢測代碼是否有更新,之後觸發android 構建伺服器打包
2. android 構建伺服器打包
2.1 檢測SVN上的kxd android產品是否存在
2.2 將當前代碼拷貝到tag上
2.3 export當前代碼到/home/autobuild/kxd_android/build下
2.4 產生 ant build.xml檔案
2.5 運行 ant clean
2.6 運行 ant release
2.7 copy apk和log到ftp上
2.8 傳出params到/home/autobuild/kxd_android/params.txt
三、安全問題:
自動構建完成後,在正式發布前,必須加殼防止反編譯;如果加殼程式支援linux控制台運行,可以加入到構建指令碼裡。
[系統整合] Android 自動構建系統