Android Ant批量打包
一、配置Ant环境变量
JAVA_HOME=/software/jdk1.6.0_24
ANT_HOME=/software/apache-ant-1.9.2
Android_Home=/software/android-sdk-linux
export JAVA_HOME ANT_HOME Android_Home PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$ANDROID_HOME/tools$Android_Home/tools/proguard/bin:$/software/decompile/dex2jar-0.0.9.13:$PATH
export PATH CLASSPATH=/software/apache-ant-1.9.2/lib
export CLASSPATH
二、copy以下三个文件到工程根目录
文件一:ant.properties
out.absolute.dir=输出apk目录
ant.project.name=工程名字
gos.path=输出mapping文件等编译相关目录
key.alias=alias名称
java.encoding=utf-8
key.store.password=密码
application.package=cn.ibm.moa.android.cf
key.store=keystore目录
key.alias.password=alias密码
market_channels=a01,a02,a03(渠道名,多渠道以逗号隔开)
app_version=应用版本
文件二:build.xml(红色部分需要根据自己的情况修改)
<?xml version="1.0" encoding="UTF-8"?>
<project
name="工程名"
default="help" > <property file="local.properties" /> <property file="ant.properties" /> <loadproperties srcFile="project.properties" /> <!-- quick check on sdk.dir --> <fail
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
unless="sdk.dir" /> <taskdef resource="net/sf/antcontrib/antcontrib.properties" > <classpath>
<!-- ant目录下的lib -->
<pathelement location="/software/apache-ant-1.9.2/lib/ant-contrib-1.0b3.jar" />
</classpath>
</taskdef> <import file="${sdk.dir}/tools/ant/build.xml" /> <import
file="custom_rules.xml"
optional="true" /> <target name="clean_bin_gen" > <echo>
Cleaning the project...
</echo> <delete dir="${report.dir}" /> <delete dir="${build.dir}" /> <delete
includeemptydirs="true"
verbose="true" > <fileset
dir="bin"
includes="**/*" >
</fileset>
</delete> <delete
includeemptydirs="true"
verbose="true" > <fileset
dir="gen"
includes="**/*" >
</fileset>
</delete>
</target> <target
name="deploy"
depends="clean" > <foreach
delimiter=","
list="${market_channels}"
param="channel"
target="modify_manifest" >
</foreach>
</target> <target name="modify_manifest" > <replaceregexp byline="false" > <regexp pattern="android:debuggable="(.*)"" /> <substitution expression="" /> <fileset
dir=""
includes="AndroidManifest.xml" />
</replaceregexp> <replaceregexp
byline="false"
flags="g" > <regexp pattern="android:name="APP_CHANNEL" *(\r\n)? *android:value="(.*)"" /> <substitution expression="android:name="APP_CHANNEL" android:value="${channel}"" /> <fileset
dir=""
includes="AndroidManifest.xml" />
</replaceregexp> <replaceregexp
byline="false"
flags="g" > <regexp pattern="android:name="APP_CHANNEL01" *(\r\n)? *android:value="(.*)"" /> <substitution expression="android:name="APP_CHANNEL01" android:value="${channel}"" /> <fileset
dir=""
includes="AndroidManifest.xml" />
</replaceregexp> <antcall target="release" /> <copy tofile="${gos.path}/应用名称_${channel}.apk" > <fileset
dir="${out.absolute.dir}/"
includes="应用名称-release.apk" />
</copy> <echo message="-------------------------------------------------------" />
</target> </project>
文件三:local.properties
#sdk根目录
sdk.dir=/software/android-sdk-linux
三、在终端中切换到工程根目录下执行命令:ant deploy
打包成功后会显示以下提示
BUILD SUCCESSFUL
Total time: 1 minute 58 seconds
Android Ant批量打包的更多相关文章
- 【Android开发经验】使用Ant批量打包Android应用全然指南
本文章由Socks完毕.博客地址:http://blog.csdn.net/zhaokaiqiang1992 转载请说明. 折腾了一下午.百度了一下午,最终实现了使用Ant对Android应用的批量打 ...
- cocos2d-x使用ant批量打包
当项目需要在多渠道上线时,要打很多的渠道包,少则几十个,多种几百个.它们的区别一般只是渠道id或部分配置信息不同,这些信息均可写在配置文件中. 例如常见的渠道id不同,一般定义在AndroidMani ...
- CygWin模拟Linux环境进行Ant批量打包
运行环境:Windows7 + Cygwin + ant 第一种:有源码 这种方式比较 简单.利用ant打包.直接shell脚本修改 配置渠道号的文件.我们目前是用的umeng的.在AndroidMa ...
- Android ant自动打包脚本:自动替换友盟渠道、版本号、包名
本文最后修改时间:2014-3-10 Android项目开发时,给公司人员安装,频繁升级,版本号总需要改,太麻烦,跟着时间变,自动升级才方便. Android项目开发新版时,手机上可能要装两个版本,一 ...
- cocos2dx Android 使用ant 批量打包
参考文章: 例子:http://www.2cto.com/kf/201305/208139.html http://blog.csdn.net/ljb_blog/article/details/127 ...
- Android ant自动打包 crunch 报错
解决办法: 修改SDK_HOME/tool/ant/build.xml. <property name="aapt.ignore.assets" value="&l ...
- Android中利用ant进行多渠道循环批量打包
公司负责Android开发的小伙伴学习能力稍微偏弱,交代给他的自动化打包的任务,弄了好久依然没有成效.无奈只好亲自出手. 没有想到过程很顺利,我完全按照如下文章的步骤进行: 主要参考: Android ...
- Android批量打包提速 - 1分钟900个市场不是梦
版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4152323.html 黎明前的黑暗 使用Ant或者Gradl ...
- 基于apktool项目的android批量打包工具,多平台支持
好久木有写博客了,今天有点兴致就写一下,献上一个没怎么用的批量打包工具,python实现的,虽然说现在android的批量打包有一个很好的工具可以使用gradle,这个灰常牛叉的工具和android ...
随机推荐
- MMU和TLB
MMU和TLB 记得那家芯片公司给我电话面试的时候,别的都还好,可是他问我什么是MMU,我只能干瞪眼.今天在看<Linux内核源码(陈莉君)>的时候,无意中看到第二章内存地址这一节,学习如 ...
- 5、java反射基础
Class对象: Class对象记录了所有与类相关的信息,当类加载器从文件系统中加载.class文件到JVM中的同时会为每一个类创建一个Class对象.通过Class对象可以获取到类的属性.方法.构造 ...
- javascript Klass 实现
var Klass=function(Parent,props){ var Child,F,i; Child=function(){ if(Child.uber && Child.ub ...
- Android之网络请求库
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- Linux内核等待队列
在Linux驱动程序设计中,可以使用等待队列来实现进程的阻塞,等待队列可看作保存进程的容器,在阻塞进程时,将进程放入等待队列,当唤醒进程时,从等待等列中取出进程. Linux 2.6内核提供了如下关于 ...
- SPA与DPA 攻击【转】
转自:http://blog.sina.com.cn/s/blog_6cb58dbf0102v7ym.html SPA SPA是一种直接解释能量消耗测定值的技术.系统消耗能量的大小随微处理器执行的指令 ...
- Android eclipse中程序调试
一:断点调试 用eclipse开发android程序的时,跟VS一样是可以断点单步调试的.步骤如下.1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoi ...
- Android开发环境的安装 Eclipse
Android开发环境的安装 1 IDE Android可以使用开发的IDE有Eclipse 或者 Android Studio.Android Studio还处于v 0.1.x版本,是early a ...
- 51nod1262 扔球
相关讨论里的答案:(by mint_my ) 1.反弹n次,那起点S,每次反弹点,终点S共连接n+1条边,那么原问题变为从S走n+1条边回到S,为令n=n+12.设步长为a条边,gcd(a,n)==1 ...
- php socket编程参考资料
WebSocket API https://msdn.microsoft.com/library/hh673567 http://www.jnecw.com/p/1523 经朋友推荐去一家手游公司面试 ...