自動化瓦力多渠道打包python指令碼
自動化瓦力多渠道打包python指令碼
目錄介紹
- 1.本庫優勢亮點
- 2.使用介紹
- 3.注意要點
- 4.效果展示
- 5.其他介紹
0.首先看看我錄製的案例演示
- 如下所示,這段python程式碼很簡單,工具十分強大,一鍵多渠道打包工具。
- [圖片上傳失敗...(image-6336e6-1544070516002)]
- 專案的開源地址:https://github.com/yangchong211/YCWalleHelper
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名稱要一致。
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名稱要相同
- 看下面這個截圖
3.4 關於部分疑問問題
- 關於Config.py中的sdkBuildToolPath,建議和你使用studio的版本保持一致。別忽略這種小的問題!
- 注意如果要配置定義路徑等屬性,由於編碼格式為UTF-8,所以不要帶異常字元
- 多渠道打包時,如果要修改多渠道資訊,直接修改channel,這個檔案就不要修改成其他的名稱呢!
4.效果展示
- 如圖所示,建議你親自嘗試一下,特別好玩!
5.其他介紹
關於其他內容介紹
關於部落格彙總連結
其他推薦
- 部落格筆記大彙總【15年10月到至今】,包括Java基礎及深入知識點,Android技術部落格,Python學習筆記等等,還包括平時開發中遇到的bug彙總,當然也在工作之餘收集了大量的面試題,長期更新維護並且修正,持續完善……開源的檔案是markdown格式的!同時也開源了生活部落格,從12年起,積累共計47篇[近20萬字],轉載請註明出處,謝謝!
- 連結地址:https://github.com/yangchong211/YCBlogs
- 如果覺得好,可以star一下,謝謝!當然也歡迎提出建議,萬事起於忽微,量變引起質變!
參考部落格
- https://github.com/Meituan-Dianping/walle
- https://blog.csdn.net/ruancoder/article/details/51893879
- https://www.cnblogs.com/morang/p/python-build-android-apk.html
- https://www.jianshu.com/p/b5b4f7fc5264
- https://www.jianshu.com/p/20a62d1eba3f
- https://github.com/Jay-Goo/ProtectedApkResignerForWalle
- https://blog.csdn.net/u013692888/article/details/77933548
關於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.
相關文章
- 360加固+美團walle多渠道自動化打包
- Flutter 多環境、多渠道自動打包Flutter
- iOS —— 兩套自動打包指令碼iOS指令碼
- Python的iOS自動化打包PythoniOS
- React Native開發中自動打包指令碼React Native指令碼
- iOS自動構建打包釋出指令碼iOS指令碼
- specjvm自動化指令碼JVM指令碼
- Python——自動簽到指令碼Python指令碼
- [python] request 介面測試自動化指令碼轉化為 [locust] 效能測試指令碼Python指令碼
- 多渠道打包
- 用python寫一個自動化盲註指令碼Python指令碼
- Dockerfile---指令碼自動化Docker指令碼
- vue自動化部署指令碼Vue指令碼
- 使用 Fastlane 實現 iOS 跟 Android 自動打包指令碼ASTiOSAndroid指令碼
- mydumper自動化安裝指令碼指令碼
- Android多渠道打包Android
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- Python 指令碼自動視窗截圖Python指令碼
- python實現自動搶課指令碼Python指令碼
- 開機自動執行python指令碼Python指令碼
- 10個Python指令碼來自動化你的日常任務Python指令碼
- Python定時任務前端專案本地自動打包遠端部署指令碼實現Python前端指令碼
- Android 多渠道打包配置Android
- 透過標籤清理微信好友:Python自動化指令碼解析Python指令碼
- cmake使用教程(十一)-使用cpack打包原始碼並編寫自動化指令碼上傳到倉庫原始碼指令碼
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- 介面自動化指令碼設計規範指令碼
- web自動化測試框架-06 如何快速編寫自動化指令碼Web框架指令碼
- Android 自動化測試及效能資料採集的 Python 指令碼AndroidPython指令碼
- 《轉載》Jenkins持續整合-自動化部署指令碼的實現《python》Jenkins指令碼Python
- Walle —— Android多渠道打包神器Android
- Flutter 多渠道打包實踐Flutter
- iOS自動化打包(fastlane使用)iOSAST
- iOS自動化編譯打包iOS編譯
- 利用Python實現自動掃雷小指令碼Python指令碼
- Android Gradle指令碼解決美團多渠道打包再加固渠道資訊丟失問題AndroidGradle指令碼
- 【Flutter】如何寫一個Flutter自動打包成iOS程式碼模組的指令碼FlutteriOS指令碼