操作方法:
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