Android Jenkins 自動化打包構建


 

前言

在測試app項目過程中,通常都是需要開發打測試包給到測試,但是無論是iOS還是Android的打包過程都是相當漫長的,頻繁的回歸測試需要頻繁的打包,對於開發同學影響還是蠻大的。因此在這種情況下,開發通常都會搭建一個簡單的自動化打包平台(Jenkins),自動化構建打包或者上傳到蒲公英,firm等分發平台。作為測試也需要了解相關的知識,用以優化提高開發測試效率。

 

涉及技術點:

  1. Jenkins的搭建配置,任務構建
  2. Android開發環境配置
  3. Android gradle的配置使用

內容包含:

  • Java環境配置
  • Android環境配置
  • gradle配置

    • 下載gradle
    • 配置環境變量
  • Jenkins配置

    •  插件管理
    • 系統設置
    •  全局工具配置
    • 構建任務配置
    • 多渠道打包,360加固(廢棄,直接開發設置gradle腳本)

      • 360加固,多渠道打包介紹
      • 360打包加固腳本(待優化)
    • 上傳蒲公英,顯示下載二維碼

      • 添加插件upload to pyger
      • 添加插件description setter plugin
      • 配置上傳蒲公英參數和顯示二維碼
    • 參數化構建之選擇分支構建

      • 添加插件Git Parameter
      • 配置參數化構建,選擇Git Parameter
      • 構建時選擇分支

 

Java環境配置

 

下載jdk,安裝即可

Android環境配置

下載安裝配置Android SDK

gradle配置

下載gradle

下載地址:http://services.gradle.org/distributions/

選擇與項目相對應的gradle版本

也可以直接使用brew安裝

配置環境變量

打開終端:

  1. open -e ~/.bash_profile,使用文本編輯打開它

          #gradle的目錄地址

          GRADLE_HOME=/Users/louchengwang/Library/gradle-4.10.1

          export GRADLE_HOME           export PATH=$PATH:$GRADLE_HOME/bin

     2. source ~/.bash_profile 更新文件

     3. gradle -version 查看gradle 版本

 

Jenkins配置

 

Jenkins的安裝部署就不說了,一路next就好

 

 插件管理

插件搜索

gradle

gitlab plugin

系統設置

設置全局屬性,配置android home


 

 全局工具配置

配置gradle


 也可以使用自動安裝,但是容易超時,所以還是自己下載安裝好了直接使用

 

構建任務配置

  1. 源碼管理選擇 git,輸入git賬號密碼,選擇分支
  2. 觸發構建器自行選擇
  3. 構建選擇Invoke Gradle script  clean: 清理項目 assembleRelease:  打包項目,生成的apk包路徑在  /Android項目/app/build/outputs/apk
  4. 高級-設置Root Build script和Build file

    這里也可以不設置,如果不設置的話,默認項目目錄是在 /Users/louchengwang/.jenkins/workspace

          還需要注意的點,Jenkins提供了一些可用的公共變量,例如${WORKSPACE},就是當前項目的目錄地址

 

多渠道打包,360加固(廢棄,直接開發設置gradle腳本)

使用360加固寶對安裝包進行加固,並且進行多渠道打包。

360加固,多渠道打包介紹

在GitHub中已經將360加固寶文件上傳上去,就在Android項目的根目錄中,我們使用命令行的方式進行打包加固

 

360命令行加固打包介紹:

  1. 使用幫助    java -jar jiagu.jar -help
  2. 登錄     java -jar jiagu.jar -login <username> <password>
  3. 簽名配置,導入簽名keystore信息      java -jar jiagu.jar -importsign <keystore_path> <keystore_password> <alias> <alias_password>
  4. 渠道配置,導入渠道信息    java -jar jiagu.jar -importmulpkg <mulpkg_path>  這個需要看下項目是使用什么樣的方式進行渠道划分
  5. 配置加固服務 查看當前加固服務配置    java -jar jiagu.jar -showconfig
  6. 應用加固,如果不是高級用戶服務,普通的加固服務配置就可以 java -jar jiagu.jar -jiagu <inputAPKpath> <outputpath> -autosign -automulpkg

360打包加固腳本(待優化)

apks=${WORKSPACE}/app/build/outputs/apk channel=("official" "tencent") DEST=${WORKSPACE}/reinforce/ for chan in ${channel[@]} do file=$apks"/"$chan/release/sjk_v1.2.0_$chan.apk file=${WORKSPACE}/app/build/outputs/apk"/"$chan/release/sjk_v1.2.0_$chan.apk java -jar ${WORKSPACE}/jiagu/jiagu.jar -login 15154111005 lou4871768 java -jar ${WORKSPACE}/jiagu/jiagu.jar -importsign ${WORKSPACE}/sjk.jks sanjieke.comsjk sanjieke.com java -jar ${WORKSPACE}/jiagu/jiagu.jar -showsign echo $file java -jar ${WORKSPACE}/jiagu/jiagu.jar -jiagu ${file} ${DEST} -autosign done

 

待優化的點

  1. 現在打包渠道是固定死的,應該自動識別apk目錄下的包並進行打包加固
  2. 打包完成后,可以增加壓縮打包並郵件發出等服務

 

保存,點擊構建,如果構建失敗查看log,看是哪里的問題。

上傳蒲公英,顯示下載二維碼

添加插件upload to pyger

添加插件description setter plugin

配置上傳蒲公英參數和顯示二維碼


 

 

配置完成效果

 

參數化構建之選擇分支構建

添加插件Git Parameter

配置參數化構建,選擇Git Parameter

返回文檔

構建時選擇分支

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM