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 ...
随机推荐
- web服务器【apache/nginx] 关闭目录的浏览权限
web服务器[apache/nginx] 关闭目录的浏览权限 我的配置(将Options 中的Indexes干掉): <VirtualHost *:80> ServerAdmin webm ...
- JavaWeb笔记——三大组件之监听器
1 JavaWeb监听器概述 在JavaWeb被监听的事件源为:ServletContext.HttpSession.ServletRequest,即三大域对象. l 监听域对象“创建”与“销毁”的 ...
- Data Flow ->> Term Extraction
中文意思是关键词抽取,用于计算在文本中哪些词汇或者词组出现的频率最高.其实算法有两张:1)Frequency 2)TFIDF TFIDF的全称是Term Frequency and Inverse D ...
- c 建立工程 常见错误及心得总结
1. 调用函数里面的 调用子函数,要是出现已定义错误,则要看看,是不是主函数的 头文件写成.c啦,因为在.h里面也定义可一次,要是写.c出现两次 错误提示:UrlCheck.obj : error L ...
- 《c程序设计语言》读书笔记--字符串比较
举例如下: char a[10]; 1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如 char a[10]; a[10]= ...
- poj - 2386 Lake Counting && hdoj -1241Oil Deposits (简单dfs)
http://poj.org/problem?id=2386 http://acm.hdu.edu.cn/showproblem.php?pid=1241 求有多少个连通子图.复杂度都是O(n*m). ...
- poj2891
这道题就是扩展的中国剩余定理(模数不互质) 首先我们回忆一下中国剩余定理对于给定n个方程组x≡ai(mod pi) 令m=∏pi wi=m/pi,然后求解关于hi,ri的方程wi*hi+pi*ri=1 ...
- poj 2479 (DP)
求一个区间内连续两段不相交区间最大和. // File Name: 2479.cpp // Author: Missa_Chen // Created Time: 2013年06月22日 星期六 16 ...
- php如何控制用户对图片的访问 PHP禁止图片盗链(转载)
把images目录设置成不充许http访问(把图片目录的:读取.目录浏览 两个权限去掉). 用一个PHP文件,直接用file函数读取这个图片.在这个PHP文件里进行权限控制. apache环境中,在你 ...
- HDU 3032 (Nim博弈变形) Nim or not Nim?
博弈的题目,打表找规律还是相当有用的一个技巧. 这个游戏在原始的Nim游戏基础上又新加了一个操作,就是游戏者可以将一堆分成两堆. 这个SG函数值是多少并不明显,还是用记忆化搜索的方式打个表,规律就相当 ...