很多的應用中需要加上應用推廣的統計,如果乙個乙個的去生成不同渠道包的應用,效率低不說,還有可能不小心弄錯了分發渠道,使用ant可以批量生成應用。
一、新增渠道包資訊
為了統計渠道資訊,就不得不在程式的某個地方加入渠道的資訊,然後針對不同的渠道打不同的包。一般可以在manifest檔案中加入渠道編號,而不直接寫在**中。這樣做的好處是,可以針對不同渠道,自動化去修改manifest檔案中的渠道編號,然後自動為該渠道打包。
manifest檔案支援meta data標籤,建議使用這種自定義標籤。例如下面的檔案片段。
"000000"android:name=
"channel"
/>
publicstatic
string getchanel(context ctx)
} catch
(exception e)
return
channelid;
}三、自動打包實現
在build.xml中增加如下**就可以實現批量打包:
taskdef resource="net/sf/antcontrib/antcontrib.properties"
>
"lib/ant-contrib-1.0b3.jar"
/>
"deploy"
>
"modify_manifest"
list=
"$"param=
"channel"
delimiter=
",">
"modify_manifest"
>
"g"byline=
"false"
>
"android:value="
(.*)
" android:name="
channel
""/>
"android:value="
$" android:name="
channel
""/>
""includes=
"androidmanifest.xml"
/>
"out.release.file"
location=
/>
"release"
/>
taskdef 宣告需要放到較前位置,因為if condition也會用到此宣告。
build.properties檔案增加:
taskdef 宣告需要放到較前位置,因為if condition也會用到此宣告。
build.properties檔案增加:
market_channels=000000
,012345
1.2.
1market名稱用逗號分隔
執行ant deploy即可。
ANT批量打包
android因為市場眾多,所以乙個版本發布的時候大家是怎麼進行的呢?我記得我問過乙個同行他告訴我說,他們三個人eclipse打包打一上午.這種方式也有它的優勢不過不在今天的討論範圍內 今天我們研究批量打包,以及批量打包的過程 暫時簡單記錄,隨後擴充 總體來說有這麼幾種 1 首先我們需要對ant這個...
ant 實現批量打包android應用
很多的應用中需要加上應用推廣的統計,如果乙個乙個的去生成不同渠道包的應用,效率低不說,還有可能不小心弄錯了分發渠道,使用ant可以批量生成應用。一 新增渠道包資訊 為了統計渠道資訊,就不得不在程式的某個地方加入渠道的資訊,然後針對不同的渠道打不同的包。一般可以在manifest檔案中加入渠道編號,而...
Ant批量打包工具的使用
最近大概用了兩天的時間來研究下之前一直好奇的自動批量打包功能 就是利用ant指令碼來更改androidmanifest中的meta渠道值,打包不同的市場渠道號對應下的apk。之前一直使用的是eclipse自帶的打包方法 ant批量打包具體步驟 3,進入命令列,輸入 android update pr...