100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包

Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包

时间:2019-07-05 21:02:40

相关推荐

Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包

上篇介绍了怎么使用ant自动编译打包现有的android项目,这篇将继续介绍如果如何在ant打包应用的时候加入签名信息以及自动打包渠道包。

1. 加入签名信息:

在项目的根目录下建一个ant.properties文件,输入如下内容,其中keystore密码和alias密码可以不指定(防泄漏),那么在命令执行的过程中会要求你输入。

[html]view plaincopy#keystore的路径,必须使用正斜杠key.store=E:/wp_android_sample/me.key#keystore的密码#key.store.password=*****#alias名key.alias=me#alias密码#key.alias.password=******

在项目根目录下运行 ant release 命令就会帮你生成一个经过签名和aligned的apk,生成的apk(your_project_name-release.apk)在bin目录下

2. 自动打包渠道包:

实现批量循环打包需要一个类似于for循环的功能,在Ant的核心包里没有相关的For循环的Task,即不支持for循环,但是ant支持第三方扩展包,以支持更多的其他功能。

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

下载后的解压得到的jar文件放到ant的lib目录。接下来我们就可以打包渠道包了,具体做法是:

(1)首先在ant.properties文件中增加属性market_channels (渠道列表,以逗号分割),version(应用程序版本名)

#渠道市场列表market_channels=91,360,wandoujia,baidu#版本号version=1.2.1

(2)在我们项目的build.xml中加入如下代码:

<!--渠道包打包脚本antdeploy--><taskdefresource="net/sf/antcontrib/antcontrib.properties"><classpath><pathelementlocation="lib/ant-contrib-1.0b3.jar"/></classpath></taskdef><targetname="deploy"><foreachtarget="modify_manifest"list="${market_channels}"param="channel"delimiter=","></foreach></target><targetname="modify_manifest"> <!-- 加上时间戳 --><tstampprefix="build."><formatproperty="TimeSign"pattern="yyyyMMddHHmm"/></tstamp><replaceregexpflags="g"byline="false"><!--匹配的内容是android:value="*****"android:name="UMENG_CHANNEL"--><regexppattern='android:value="(.*)"android:name="UMENG_CHANNEL"'/><!--匹配之后将其替换为android:value="渠道名"android:name="UMENG_CHANNEL"--><substitutionexpression='android:value="${channel}"android:name="UMENG_CHANNEL"'/><!--正则表达式需要匹配的文件为AndroidManifest.xml--><filesetdir=""includes="AndroidManifest.xml"/></replaceregexp><propertyname="out.release.file"location="${out.absolute.dir}/${ant.project.name}_${channel}.apk"/><!--包--><antcalltarget="release"/><!--输出渠道包到bin/out目录下--><copytofile="${out.absolute.dir}/out/${ant.project.name}v${version}-${channel}.apk"file="bin/${ant.project.name}-release.apk"/></target>

在项目根目录下运行ant clean 无误后再运行ant deploy 命令就会帮你各个渠道的签名包了(为了全程可以自动执行,ant.properties文件中的keystore的密码可以指定,这样在执行过程中就不需要手动输入密码了),在bin目录的out目录下。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。