Android ant自動打包指令碼:自動替換友盟渠道、版本號、包名
Android專案開發時,給公司人員安裝,頻繁升級,版本號總需要改,太麻煩,跟著時間變,自動升級才方便。
Android專案開發新版時,手機上可能要裝兩個版本,一個是 老的正式版,一個是 新的開發版,想共存的話,要包名不一樣,比如chrome是com.android.chrome,而chrome beta是com.chrome.beta,自動改包名才方便。
Android專案正式釋出時,發到各個市場上,要統計各個渠道的效果,所以打包要打幾十次,自動打包才方便。
所以開發了這個指令碼,如下:
專案程式碼:https://github.com/sinkcup/AntDemo
測試APP:http://com-163-sinkcup.qiniudn.com/io.github.sinkcup.ant-cnblogs-1.1.apk
截圖:
打包時自動更換友盟渠道
ant auto-release -DUMENG_CHANNEL=googlePlayStore
即會把AndroidManifest.xml中的友盟渠道替換成googlePlayStore,然後打包
ant auto-release -DUMENG_CHANNEL=xiaomiAppStore
即會打出小米應用商店的包
打包時自動更換包名
ant auto-release -Dpackage=com.example.ant.beta
把包名自動改成com.example.ant.beta,然後打包
打包時使用時間作為版本號
ant auto-debug -Dversion=time
把版本號改成時間,然後打包,效果:
versionCode是時間戳,比如1390969254
versionName是日期,比如14.1.29.1220
多個引數任意組合
ant auto-release -DUMENG_CHANNEL=googlePlayStore -Dpackage=com.example.ant.beta -Dversion=time
即打出google play的beta包,使用時間作為版本號
debug與release簽名
ant auto-debug
使用debug簽名(路徑~/.android/debug.keystore),請參考http://developer.android.com/tools/publishing/app-signing.html#debugmode
ant auto-release
使用release簽名,請修改ant.properties中的路徑、密碼等等,參考http://developer.android.com/tools/building/building-cmdline.html#ReleaseMode
如何整合到我的專案裡
前提:瞭解Android官方文件,在專案目錄中執行ant debug能打包,比如常見的打包步驟:
android update project -p . -s -t "android-19"
ant debug
如果ant debug打包能通過,則可以使用下面的自動打包。
下載custom_rules.xml,放到專案目錄(假設為Project1),然後執行:
ant auto-debug -Dversion=time
即可,生成的包在./bin/中。
如果想打release包,下載ant.properties,修改其中的密碼等配置,然後執行:
ant auto-release -DUMENG_CHANNEL=googlePlayStore -Dpackage=com.example.ant.beta
即可。
PS:友盟支援按渠道升級,比如cnblogs渠道升級完成還是cnblogs,googlePlayStore升級完成還是googlePlayStore。
比如
cnblogs渠道包:http://com-163-sinkcup.qiniudn.com/io.github.sinkcup.ant-cnblogs-1.1.apk
google渠道包:http://com-163-sinkcup.qiniudn.com/io.github.sinkcup.ant-googlePlayStore-1.1.apk
執行截圖:
相關文章
- Android自動打包、簽名、優化、上傳ANT指令碼Android優化指令碼
- 自動化瓦力多渠道打包python指令碼Python指令碼
- Android使用Ant自動編譯簽名打包詳解Android編譯
- Ant自動打包(可動態修改包名、資源等)生成不同簽字不同包名的APPAPP
- ant指令碼實現的Android自動編譯指令碼Android編譯
- Gradle多渠道打包(動態設定App名稱,應用圖示,替換常量,更改包名,變更渠道)GradleAPP
- Gradle多渠道打包(動態設定App名稱,應用圖示,替換常量,更改包名,變更渠道)...GradleAPP
- iOS自動打包指令碼+自動上傳到firiOS指令碼
- iOS —— 兩套自動打包指令碼iOS指令碼
- 分享一個自動編譯,打包,簽名 android apk 的小指令碼編譯AndroidAPK指令碼
- Android ant修改包名打包 (轉)Android
- 使用 Fastlane 實現 iOS 跟 Android 自動打包指令碼ASTiOSAndroid指令碼
- Window下采用ant 指令碼構建Android自動化編譯指令碼Android編譯
- 自動增加 Android App 的版本號AndroidAPP
- Flutter 多環境、多渠道自動打包Flutter
- 教你在Android自動打包解包簽名方法Android
- iOS自動構建打包釋出指令碼iOS指令碼
- 為Android應用增加渠道資訊 自動化不同渠道的打包過程Android
- 使用shell指令碼自動修改Xcode工程編譯版本號指令碼XCode編譯
- 360加固+美團walle多渠道自動化打包
- React Native開發中自動打包指令碼React Native指令碼
- Xcode8後的自動打包指令碼XCode指令碼
- Android筆記之:App自動化之使用Ant編譯專案多渠道打包的使用詳解Android筆記APP編譯
- 利用ant指令碼 自動構建svn增量/全量 系統程式升級包指令碼
- Android程式自動化打包Android
- gulp自動化構建html靜態資源路徑版本號新增和替換HTML
- Android 自動編譯、打包生成apk檔案 3 - 使用SDK Ant方式Android編譯APK
- 自動ftp指令碼FTP指令碼
- Oracle ADG 自動切換指令碼分享Oracle指令碼
- 5.6 MySql主從自動切換指令碼MySql指令碼
- 利用 ant 指令碼修改專案包名指令碼
- android Ant 批量多渠道打包 總結!Android
- 用bat指令碼自動生成安裝包InnosetupBAT指令碼
- 案例八:Shell自動化管理賬號指令碼指令碼
- 介面自動化之引數動態生成替換
- 【Android自動化打包】03. APK的數字簽名AndroidAPK
- ssh自動輸入密碼指令碼 切換目錄指令碼密碼指令碼
- centos 自動啟動指令碼和自啟動服務CentOS指令碼