Android多渠道打包工具


鑒於Android市場眾多,基於各種利益考慮,以及未來app能夠更有針對性的投放市場,肯定是要監測每個渠道的數據的。

如果通過eclipse每次修改下渠道名,然后再導出包,如果有十多個渠道要分發,那就得打十多個包,這無疑是很費力的,程序員的精力不應該過多的耗費在這些瑣碎重復的事情上。這些瑣碎重復的事情能用機器來做最好就讓機器來做。

我是一個比較懶的人,不樂意做瑣碎重復的事情。幾個月前,在網上找了好久,也沒發現有能夠進行批量多渠道打包的工具,就想着琢磨自己寫一個。以前在外包公司做測試的時候學過一些批處理命令和perl腳本,不過忘得差不多了,但是網上搜了下立馬就能回憶起怎么用。經過了三四個晚上的奮戰,總算是把多渠道打包的工具給寫出來了。

該工具能夠對Android工程進行編譯,混淆,優化,打包,Ant據說也可以,但是不會用也懶得學。我廠用的是Umeng的渠道統計,在AndroidManifest.xml文件里添加如下此句

<meta-data android:value="{qudao_tag}" android:name="UMENG_CHANNEL"></meta-data>

即可,把{qudao_tag}填寫在配置文件里,工具打包時會自動替換{qudao_tag}為相應的渠道名。

已經用了好幾個月了,基本上是穩定了,現在決定把它開源出來下載地址,我想還是有很多人需要的。整個工具每個腳本的執行過程如下圖所示(clickMeToStartCompile是需要用戶點擊的,當然點擊clickMeToCompile效果也一樣):

混淆主要用的是eclipse自動生成的混淆腳本proguard.cfg,但發現自己做的項目用到了webview以及js調用,混淆之后js根本找不到相應的方法,於是最后加了如下這句才好了

-keep public class * extends android.app.Activity
{
    public protected *;
}

,這句其實就是聲明所有activity里面的public,protected方法都不要混淆。混淆之后,反饋的錯誤信息室無法准確定位的,但可以根據錯誤反饋的方法通過混淆時生成的map找到對應源碼的方法。

 

用命令行編譯的方式對認識整個編譯的過程是很有幫助的,有興趣的可以看看下,其中還有不完善的地方,有興趣有能力的可以幫忙改善下。

有不能使用或是不明白的可以留言問我。

 

如有轉載,請注明出處:http://www.cnblogs.com/huangtianhui/archive/2012/07/14/2591382.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM