首页 > 代码库 > Ant 批量打包Android Umeng多渠道版本
Ant 批量打包Android Umeng多渠道版本
先决条件:
- apache ant
-
antcontrib
具体步骤:
- 在?AndroidManifest.xml 中添加meta-data 标签:
<meta-data android:name="UMENG_CHANNEL" android:value="10086" >
</meta-data> - 生成ant build.xml
android update project?-p?[project_path] - 在ant.properties文件中添加如下配置
application.package=com.sage.jiecai
ant.project.name=jiecai
java.encoding=utf-8
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
key.store=sign/android.keystore
key.store.password=storepassword
key.alias=jiecai
key.alias.password=aliaspassword
version=1.0
market_channels=51jiecai,360,qq,hiapk,baidu,91,wandoujia,xiaomi,10086 - 在build.xml中添加如下代码
<property file="ant.properties"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="/Library/ant/lib/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<import file="${sdk.dir}/tools/ant/build.xml"/>
<target name="deploy">
<foreach target="modify_manifest" list="${market_channels}" param="channel" delimiter=",">
</foreach>
</target>
<target name="modify_manifest">
<echo message="===========================${channel}========================="/>
<replaceregexp flags="g" byline="false">
?<!-- 匹配的内容是 android:value="http://www.mamicode.com/*****" android:name="UMENG_CHANNEL" -->
?<regexp pattern=‘android:name="UMENG_CHANNEL" android:value="http://www.mamicode.com/(.*)"‘/>
?<!-- 匹配之后将其替换为 android:value="http://www.mamicode.com/渠道名" android:name="UMENG_CHANNEL" -->
?<substitution expression=‘android:name="UMENG_CHANNEL" android:value="http://www.mamicode.com/${channel}"‘/>
?<!-- 正则表达式需要匹配的文件为AndroidManifest.xml -->
?<fileset dir="" includes="AndroidManifest.xml"/>
</replaceregexp>
<echo message="===========================${channel}========================="/>
<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"/>
<echo message="===========================end============================="/>
</target>
?
Ant 批量打包Android Umeng多渠道版本
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。