1. 程式人生 > >gradle神器~Android多渠道配置管理之Python網頁線上打包探索(7)

gradle神器~Android多渠道配置管理之Python網頁線上打包探索(7)

背景:

     隨著APP數量的增多,打包的個數也越來越多。怎麼讓開發者從中脫身更專心的去關注功能的實現,而不是每天跟著客戶的業務需求一直在做著重複的替換資原始檔、打包、釋出的工作。最近一直在學習Python,就大膽的設想了一個方案,讓客戶或者運營人員就能替換資源,然後根據他們上傳的資源自動化編譯、打包、釋出。

探索之路:


基本流程如上所示:

1.開啟網頁填寫渠道資訊(APP名字、資原始檔),點選提交按鈕傳送post請求到伺服器

2.伺服器用Python語言,主要功能是生成渠道配置檔案、下載資源圖片、拉取最新GitLab原始碼、

執行gradle assembleXXXXRelease生成對應渠道APK、上傳APK到可下載伺服器、返回下載地址到網頁端並顯示二維碼

3.因為使用GitLab託管程式碼的,避免多個地方推原始碼不好管理

4.APK檔案存放使用的是第三方雲平臺

5.環境配置有jdk、gradle、Python、git、Web伺服器

實踐之路:

         由於種種原因現在還不能完美的演示線上完全定製化APP功能,只能來個本地槍版的體驗體驗。

       本地所需環境:jdk1.8、gradle3.3、PyCharm自帶版本或者Python3.5,各種環境的配置簡要說明,具體配置請百度相關的說明教程。

     1.配置Path環境變數%JAVA_HOME%bin,JAVA_HOME是你的JDK安裝路徑

     2.新增GRADLE_HOME為gradle的解壓路徑,配置Path環境變數%GRADLE_HOME%bin

    3.Python指令碼

# coding=utf-8
import os
#Android工程路徑
rawPath = '替換成自己的Android原始碼工程路徑'
os.chdir(rawPath)  # 切換當前路徑
command = 'gradle assembleRelease'  #命令列中執行的命令
r = os.popen(command)
info = r.readlines() for line in info:  # 按行遍歷
line = line.strip('\r\n')
    print(line)
    if (str(line).__contains__
("Success")): break