1. 程式人生 > >ant單個或多個渠道包打包參考文件

ant單個或多個渠道包打包參考文件

操作方法:

1、   單個渠道包

1、下載ant,並配置環境變數


並且配置AndroidSDKTools環境變數


2、測試ant以及android命令是否安裝成功,下圖表明已安裝成功

3、build.xml和 local.properties目錄自動生成

執行cmd定位到專案根目錄下,執行android update project -p <project> -t <target>

<project>專案全路徑,<target>為API版本。


build.xml檔案中<project name="Babyshow"default="help"

> 修改name名稱為你要編譯的apk包名稱;

4、 新建ant.properties在專案工程根目錄下,內容如下:(密碼自己變更)

key.store=suning.keystore

key.store.password=SuningXXXX

key.alias=suning

key.alias.password=SuningXXXX

5、 將key檔案放置在當前專案根目錄下

6、 進行打包CMD執行 ant cleanrelease

 

打包成功後即可在bin目錄下看見Babyshow-release.apk。

2、   多個渠道包

1、步驟1-5參考單個渠道包

2、修改ant.properties配置檔案

增加兩行,分別為渠道包名稱以及版本號

key.store=suning.keystore

key.store.password=Suning1234

key.alias=suning

key.alias.password=Suning1234

market_channels=91,360,wandoujia,baidu

version=2.0

3、修改build.xml配置檔案

在第三行增加(<project name="Babyshow"default="help">行下)

<!-- 渠道包打包指令碼  ant deploy-->   

<taskdef resource

="net/sf/antcontrib/antcontrib.properties"> 

   <classpath> 

        <pathelement location="lib/ant-contrib-1.0b3.jar"/> 

   </classpath> 

</taskdef> 

<target name="deploy"> 

  <foreach target="modify_manifest" list="${market_channels}" param="channel" delimiter=",">      

  </foreach> 

</target> 

<target name="modify_manifest"> 

   <replaceregexp flags="g" byline="false"> 

        <!-- 匹配的內容是android:value="*****" android:name="UMENG_CHANNEL" --> 

        <regexp pattern='android:value="(.*)"android:name="BaiduMobAd_CHANNEL"' /> 

        <!-- 匹配之後將其替換為 android:value="渠道名" android:name="UMENG_CHANNEL" --> 

        <substitution expression='android:value="${channel}"android:name="BaiduMobAd_CHANNEL"' />

        <!-- 正則表示式需要匹配的檔案為AndroidManifest.xml--> 

         <fileset dir=""includes="AndroidManifest.xml" /> 

   </replaceregexp> 

   <property name="out.release.file" location="${out.absolute.dir}/${ant.project.name}_${channel}.apk"/> 

    <!-- --> 

    <antcall target="release" /> 

    <!--輸出渠道包到bin/out目錄下 --> 

   <copy tofile="${out.absolute.dir}/out/${ant.project.name}v${version}-${channel}.apk"file="bin/${ant.project.name}-release.apk"/> 

</target>

4、實現批量迴圈打包需要一個類似於for迴圈的功能,在Ant的核心包裡沒有相關的For迴圈的Task,即不支援for迴圈,但是ant支援第三方擴充套件包,以支援更多的其他功能。

下載後的解壓得到的jar檔案放到ant的lib目錄。

5、執行antdeploy 命令即可迴圈打包。最好提前執行下ant clean