最近剛忙完了一個(gè)項(xiàng)目,本以為可以好好放松一下了,沒想到客戶提了一個(gè)變態(tài)的要求,同時(shí)要打包上線100多個(gè)渠道,需要替換圖標(biāo),啟動(dòng)頁(yè)還有一堆煩人的參數(shù),粗略估計(jì)一個(gè)一個(gè)打包,至少兩天時(shí)間,真是醉了。心中一陣草泥馬飛過(guò)之后,想著自己的尾款還沒到賬,只能硬著頭皮搞一個(gè)自動(dòng)化的打包腳本。
1、首先安裝ant ,下載地址http://ant.apache.org/不會(huì)安裝的可以參考http://yarin.blog.51cto.com/1130898/692569。
2、利用Ant批量打包的基本思想是,每次打包后自動(dòng)替換渠道號(hào),以及自己要替換的參數(shù),比如本demo就要不僅要替換渠道號(hào),一些參數(shù),還要替換圖標(biāo)和啟動(dòng)頁(yè)面。
這樣帶來(lái)了一個(gè)問題:Ant不支持循環(huán),怎樣循環(huán)打包?
擴(kuò)展包Ant-contrib能輕松解決這個(gè)問題
可以×××的同學(xué)可以到http://ant-contrib.sourceforge.net/自行下載,或者去我的云空間下載http://pgyer.qiniudn.com/ant-contrib-1.0b3.jar,下載后直接把a(bǔ)nt-contrib-1.0b3.jar放到Ant的lib文件夾即可。
3、生成并改寫build.xml 執(zhí)行如下命令
android update project --name testbyfrank -t 1 -p /Users/frank/Documents/workspace/testbyfrank
此命令在當(dāng)前的工程目錄生成build.xml, -t 表示targetid 可以通過(guò)android list targets查看 -p 指定工程目錄
修改build.xml 代碼見demo
4、生成ant.properties 內(nèi)容如下:market_channels是用來(lái)替換的參數(shù)以:和-分割。
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、執(zhí)行命令ant deploy就慢慢等待生成的多渠道的apk吧
7、最后在目錄/Users/frank/Documents/publish_testbyfrank_bin下生成了兩個(gè)apk
testbyfrank_xiguang.apk 和testbyfrank_xinzhi.apk
自己抽離出來(lái)的demo已經(jīng)經(jīng)過(guò)我的測(cè)試沒有問題,大家可以通過(guò)http://pgyer.qiniudn.com/testbyfrank.zip下載示例代碼。
注意事項(xiàng)及可能遇到的問題
1.工程如果引用到其它類庫(kù)工程,請(qǐng)先生成類庫(kù)的build.xml
2.如果提示invalid resource directory name: /Users/frank/Documents/workspace/appcompat_v7/bin/res/crunch等類似的錯(cuò)誤請(qǐng)先手動(dòng)刪除bin目錄,重新執(zhí)行ant deploy命令
3.如果出現(xiàn)Can't read [/Users/frank/Documents/workspace/testbyfrank/libs/Android_Location_V1.1.0.jar] (No such file or directory)類似的錯(cuò)誤,表明你沒有用到這個(gè)類庫(kù),請(qǐng)?jiān)诨煜募腥サ魧?duì)應(yīng)的即可。
4.如果xml文件有用到自定義的控件,對(duì)應(yīng)的java文件不能混淆
5.如果用的gson的庫(kù),對(duì)應(yīng)的實(shí)體類不可以混淆。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
網(wǎng)站名稱:Ant多渠到混淆打包-創(chuàng)新互聯(lián)
本文URL:http://www.chinadenli.net/article44/jghhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站收錄、企業(yè)建站、動(dòng)態(tài)網(wǎng)站、外貿(mào)建站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容