1、首先安裝ant ,下載地址http://ant.apache.org/不會安裝的可以參考:
Mac: http://blog.csdn.net/zanelove/article/details/45789577
Win: http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_project_target_task_run.html
2、利用Ant批量打包的基本思想是,每次打包後自動替換渠道號,以及自己要替換的參數,比如本demo就要不僅要替換渠道號,一些參數,還要替換圖標和啓動頁面。
問: 這樣帶來了一個問題:Ant不支持循環,怎樣循環打包?
答: 擴展包Ant-contrib能輕鬆解決這個問題
可以翻牆的同學可以到http://ant-contrib.sourceforge.net/自行下載,或者去我的雲空間下載鏈接: http://pan.baidu.com/s/1qW5d0Ji 密碼: da53 ;下載後直接把ant-contrib-1.0b3.jar放到Ant的lib文件夾即可。
3、生成並改寫build.xml 執行如下命令
- 生成builder.xml
android update project --name 項目名稱 -t 1 -p 項目路徑
如:
android update project --name AntTest -t 1 -p /Users/xx/Documents/workspace/AntTest
此命令在當前的工程目錄生成build.xml, -t 表示targetid,可以通過android list targets查看 ; -p 表示指定工程目錄.
- 改寫builder.xml
參考Demo中的builder.xml文件,對你的builder文件進行改寫!!
鏈接: http://pan.baidu.com/s/1ntqW2ST 密碼: 1fvx
4、生成ant.properties 內容如下:market_channels是用來替換的參數以:和-分割。
java.encoding=utf-8
out.absolute.dir=/Users/frank/Documents/publish_testbyfrank
gos.path=/Users/frank/Documents/publish_testbyfrank_bin
proguard.config=proguard.cfg
app_version=1.5
market_channels=\u65B0\u77E5:60-xinzhi,\u897F\u5149:18-xiguang
5、project.properties文件中打開混淆代碼,去掉下面所在行的#
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
6、編寫proguard-project.txt,demo中有,大家自行刪減
6、執行命令ant deploy就慢慢等待生成的多渠道的apk吧
7、最後在目錄/Users/frank/Documents/publish_testbyfrank_bin下生成了兩個apk: testbyfrank_xiguang.apk 和testbyfrank_xinzhi.apk
8、注意事項及可能遇到的問題
工程如果引用到其它類庫工程,請先生成類庫的build.xml。
如果提示invalid resource directory name: /Users/frank/Documents/workspace/appcompat_v7/bin/res/crunch等類似的錯誤請先手動刪除bin目錄,重新執行ant deploy命令。
如果出現Can’t read [/Users/frank/Documents/workspace/testbyfrank/libs/Android_Location_V1.1.0.jar] (No such file or directory)類似的錯誤,表明你沒有用到這個類庫,請在混淆文件中去掉對應的即可。
如果xml文件有用到自定義的控件,對應的java文件不能混淆。
如果用的gson的庫,對應的實體類不可以混淆。
使用Ant批量打包Android應用完全指南:http://www.tuicool.com/articles/IvAnyy