自動化瓦力多渠道打包python指令碼

瀟湘劍雨發表於2018-12-06

自動化瓦力多渠道打包python指令碼

目錄介紹

  • 1.本庫優勢亮點
  • 2.使用介紹
  • 3.注意要點
  • 4.效果展示
  • 5.其他介紹

0.首先看看我錄製的案例演示

1.本庫優勢亮點

  • 通過該自動化指令碼,自需要run一下或者命令列執行指令碼即可實現美團瓦力多渠道打包,打包速度很快
  • 配置資訊十分簡單,程式碼中已經註釋十分詳細。Keystore資訊一定要配置,至於渠道apk輸出路徑,檔案配置路徑等均有預設路徑,沒有配置也沒關係
  • 針對輸出路徑是根目錄下的output資料夾,檔案不存在則建立,檔案存在則是先刪除之前多渠道打包生成的【也就是刪除output資料夾下所有檔案】,然後在重新生成
  • 多渠道的定義是在channel這個檔案中,建議是txt檔案格式,你可以根據專案情況修改,十分快捷
  • 如果瓦力打包工具更新了,直接替換一下lib中的jar即可。可以在python3.x上跑起來!
  • 我也參考了大量的部落格,網上部落格很多,我始終覺得對於這種實操性很強的案例,還是部落格和專案一起學習才效果更好。感謝無數的前輩大神!

2.使用介紹

  • 第一步:準備基礎的檔案
    • 將你加固好的apk檔案,keystore,已經需要多渠道配置資訊的channel放到指定的apk檔案中
    • 初步建議,如果你想自定義存放檔案的路徑,可以先熟悉一下python的程式碼再做修改,也沒有什麼難度
  • 第二步:配置Config.py檔案中的屬性
    • 配置keystore資訊,這個地方引用你的keystore資訊
    # keystore資訊
    # Windows 下路徑分割線請注意使用\\轉義
    keystorePath = "D:\\GitHub\\YCWalleHelper\\venv\\Include\\apk\\ycPlayer.jks"
    keyAlias = "yc"
    keystorePassword = "19930211"
    keyPassword = "19930211"
    
    • 配置其他資訊,比如apk的名稱,渠道包配置路徑,輸出路徑等等
    # 加固後的原始檔名(未重簽名)
    # 必須要配置
    protectedSourceApkName = "app_release_aligned_signed.apk"
    
    # 下面這些可以不用配置,程式碼中會有預設的值
    # 加固後的原始檔所在資料夾路徑(...path),注意結尾不要帶分隔符,預設在此資料夾根目錄
    protectedSourceApkDirPath = ""
    # 渠道包輸出路徑,預設在此資料夾output目錄下
    channelsOutputFilePath = ""
    # 渠道名配置檔案路徑,預設在此資料夾apk目錄下
    channelFilePath = ""
    # 額外資訊配置檔案(絕對路徑)
    # 配置資訊示例參看,預設是此資料夾apk目錄下
    extraChannelFilePath = ""
    
    # Android SDK buidtools path , please use above 25.0+
    # 必須配置
    sdkBuildToolPath = "D:\\Program File\\AndroidSdk\\build-tools\\28.0.3"
    
  • 第三步:直接執行
    • 第一種方式是通過PyCharm工具執行,這個直接run就可以呢。程式設計師建議使用這種!
    • 第二種方式是通過命令列執行,就可以實現自動化打包
    python MainWalle.py
    
  • 第四步:修改多渠道配置資訊
    • 直接找到channel檔案,進行修改即可,注意格式!
    360 #360
    91anzhuo # 91安卓
    anzhuo # 安卓
    baidu # 百度
    wandoujia # 豌豆莢
    xiaoyangdoubi  #小楊逗比
    yingyongbao # 應用寶
    

3.注意要點

3.1 注意在apk目錄中一定要放入channel,keystore,還有加固的apk檔案

  • channel是指指定多渠道資訊
  • keystore是指你要簽名的apk的鑰匙
  • apk是指你需要進行多渠道打包的加固檔案。注意apk檔名稱要和Config配置的apk名稱要一致。


    4432347-3a913bde5954e050.png
    image

3.2 配置keystore資訊需要注意的問題

  • 主要是注意路徑是全路徑
    # keystore資訊
    # Windows 下路徑分割線請注意使用\\轉義
    keystorePath = "D:\\GitHub\\YCWalleHelper\\venv\\Include\\apk\\ycPlayer.jks"
    keyAlias = "yc"
    keystorePassword = "19930211"
    keyPassword = "19930211"
    

3.3 注意apk下存放的apk檔名稱和Config.py中配置的apk名稱要相同

  • 看下面這個截圖
    • 4432347-4dc2070255be196c.png
      image

3.4 關於部分疑問問題

  • 關於Config.py中的sdkBuildToolPath,建議和你使用studio的版本保持一致。別忽略這種小的問題!
  • 注意如果要配置定義路徑等屬性,由於編碼格式為UTF-8,所以不要帶異常字元
  • 多渠道打包時,如果要修改多渠道資訊,直接修改channel,這個檔案就不要修改成其他的名稱呢!

4.效果展示

  • 如圖所示,建議你親自嘗試一下,特別好玩!
    • 4432347-24c01dbbf68d1166.png
      image

5.其他介紹

關於其他內容介紹

4432347-7100c8e5a455c3ee.jpg
image

關於部落格彙總連結

其他推薦

  • 部落格筆記大彙總【15年10月到至今】,包括Java基礎及深入知識點,Android技術部落格,Python學習筆記等等,還包括平時開發中遇到的bug彙總,當然也在工作之餘收集了大量的面試題,長期更新維護並且修正,持續完善……開源的檔案是markdown格式的!同時也開源了生活部落格,從12年起,積累共計47篇[近20萬字],轉載請註明出處,謝謝!
  • 連結地址:https://github.com/yangchong211/YCBlogs
  • 如果覺得好,可以star一下,謝謝!當然也歡迎提出建議,萬事起於忽微,量變引起質變!

參考部落格

關於LICENSE

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

相關文章