首頁 > 軟體

Flutter Shell自動化打包解放雙手

2022-10-10 14:00:26

正文

經過一段時間的學習和專案實踐,你會發現,

打包->上傳蒲公英->生成二維條碼

是一個枯燥且乏味的事情,只要打包設定項,設定完成,剩下的基本上就是無聊的等待,和機械的步驟.

之前在寫iOS專案的時候,一直都是使用fastlane,和xcodebuild,進行指令碼打包的.

只是那個時候,只是會簡單的打包,並沒有深究上傳.

最近花時間把flutter自動化打包也給加上了.

指令碼執行視訊

打包流程圖

在開始編寫打包工具前,我們需要先把打包流程自己畫一畫,可以讓我們在腦子裡,先過一下整體流程,哪些需要準備,哪些需要單獨處理.這裡我把我從第一次寫流程圖,到最終流程圖確定的過程也分享給大家.也算是一種記錄吧.

第一版

第二版

第三版

相對來說,經過這三版的改進,也算是把整體流程捋順了,從一開始不能自定義引數,到可以自定義引數,從只會打包出apk和ipa.到可以上傳到蒲公英,上傳到iOS商店.也算是基本完成了我的需求,所以下一步,就是按照我們畫的流程圖,進行程式碼的編

指令碼目錄講解

├── shell_pack
│   ├── ExportOptions.plist(匯出iOS商店包需要的plist)
│   ├── ExportOptions_dev.plist(匯出iOS測試包)
│   ├── ExportOptions_hoc.plist(匯出hoc包)
│   ├── pack.sh(入口)
│   ├── pack_apk.sh(apk打包模組)
│   ├── pack_clear_create_tool.sh(清快取和構建檔案模組)
│   ├── pack_config.sh(全域性設定項)
│   ├── pack_ipa.sh(ipa打包模組)
│   ├── pack_tool.sh(工具模組)
│   └── pgyer_upload.sh(蒲公英模組)

這就是根據我們畫的流程圖,我這邊設計的程式碼實現分佈,之前也看過其他人寫的shell指令碼,一般都是把所有的程式碼寫到一塊,可能我這邊一看到這麼多程式碼,就會有抗拒心裡,所以,根據我的開發習慣,我會把主流程放在入口模組,具體的業務實現,會下發到各個功能模組裡,這樣的話也方便各個模組的獨自聯調測試.


IT145.com E-mail:sddin#qq.com