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支持第三方扩展包,以支持更多的其他功能。

于是我们要下载相应的支持for循环的扩展包。可以使用开源的Ant-contrib包。下载地址:http://ant-contrib.sourceforge.net/  。

下载后的解压得到的jar文件放到ant的lib目录。

5、执行antdeploy 命令即可循环打包。最好提前执行下ant clean

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值