ant android

转载 2012年03月28日 18:21:30

ant打包相关参考资料:

http://hi.baidu.com/%F5%CC%C4%A7/blog/item/3f9bc5ec2338ad3726979186.html

http://www.diybl.com/course/3_program/java/javajs/20090201/154692.html

Android ant打包相关:

http://marshal.easymorse.com/archives/1665

http://handsomeliuyang.iteye.com/blog/1156070

http://www.bangchui.org/simple/?t13358.html

 

下面分享一些我个人在ant打包过程中的一些学习所得以及用于这个项目的build文件的大体思路.

首先配置好整个系统所需的ant编译环境,build.property中配置好相关的参数.(build.property文件主要包涵了一些在编译中需要用到工具的路径,以及一些需要配置的参数,如应用包名,项目名,以及一些需要传入的参数.写在build.property中主要是为了方便配置文件的集中管理)在这次ant打包的需求中,需要修改一个java文件中的两个常量属性.根据这样的需求,首先从http://blog.csdn.net/to_cm/article/details/6051470中拿到普通android项目打包的build.xml,build.property.在这里需要指出的是,由于android sdk tool,platform tools的一些升级,一部分android的压缩编译工具被转移到了platform _tools目录下,所以,在配置的时候需要稍微改动一下build.property中的内容

然后,开始动手实现我们的需求吧.由于对ant理解得不算深入,用的方法比较死,可能效率上来说不是最高的,下面说一下我的思路

<target name=”CopyReplaceJava”>

<copy file=”${basedir}\${srcdir}\${file.replace.path}\${fileName}” todir=”..\temp\build\META-INF” />

<replace file =”${basedir}\${srcdir}\${file.replace.path}\${fileName}” token=”@Company_Name@” value=”${company.name}” encoding=”utf-8″/>

<replace file =”${basedir}\${srcdir}\${file.replace.path}\${fileName}” token=”@App_id@” value=”${app.id}” encoding=”utf-8″/>

</target>

首先,我们复制我们需要修改的java文件到一个临时的temp文件夹中,然后对位于src中的java文件进行字符的替换,我们这用@Company_Name@这类特殊字符来代替替换位置,防止替换了正常的文件代码.替换完毕,然后执行后续的编译,压缩,打包,这时打出的包中的常量数值就是我们传如参数的数值了.由于替换了文件中@Company_Name@这类特殊字符,为了下次能正常打包,需要将复制到temp中的java文件替换回来.在打包完之后,我们用这段代码来实现(注意depends参数决定了target的执行顺序,这里我们给的是在compile之后)

<target name=”replaceJava” depends=”compile”>

<delete file=”${basedir}\${srcdir}\${file.replace.path}\${fileName}”/>

<copy file=”..\temp\build\META-INF\${fileName}” todir=”${basedir}\${srcdir}\${file.replace.path}” />

</target>

接下来,我们需要对生成的不需要的中间文件进行清理,classes文件夹等.

<delete dir=”${basedir}\${outdir}\classes” />

<delete file=”${basedir}\${outdir}\classes.dex” />

<delete file=”${basedir}\${outdir}\jjdd.ap_” />

 

清理完毕,自动生成一个修改了属性值的apk包就生成了.接下来,需求有了进一步的加强,我们需要10几个相同公司名,不同id的包.那么我们怎么自动生成这么一些包呢,这里我用到了dos命令来完成我们的需求(ant虽然也能实现,但是好像ant中执行for需要有插件支持,并且对ant不算太熟,所以,这里我采用dos来做),一下代码是生成指定公司名的不同iddos代码.

cd /d F:\WorkSpace\online\trunk\project_name

@echo off

 

set /p x=请输入产品投放的市场名称:

set /p min=最小id值是:

set /p max=最大id值是:

 

for /l %%i in (%min%,1,%max%) do ant -f build.xml -Dcompany.name =%x% -Dapp.id=%%i

 

ant -f build.xml -Dcompany.name =%x% -Dapp.id=%%i,这条命令是执行ant,并给build.xml中的company.name赋值输入的x,app.id赋值i.同时用一个循环完成输入的minmax次调用ant打包,生成id不同的多个ant.

Own Website:http://www.stay4it.com/

QQ:104816053

Android QQ Group: 点击加入

转载请注明出处http://stay.cnblogs.com/ 请尊重个人劳动成果。

在Android开发中使用Ant 一:环境的搭建及入门

配置Ant环境 下载Ant:http://ant.apache.org/bindownload.cgi 在windows上应该选择zip压缩包,将zip压缩包解压到一个目录。 打开系统环境变量,...
  • dyllove98
  • dyllove98
  • 2013年08月05日 19:11
  • 7579

使用Ant编译Android

(转载请注明出处:http://blog.sina.com.cn/u/1429359895) 使用Ant编译Android应用程序很方便,在Window和Linux下均可使用。尤其是将一个软...
  • xieyan0811
  • xieyan0811
  • 2014年09月05日 12:15
  • 4435

Android项目使用Ant打包,生成build.xml

一、生成build.xml Eclipse中使用Ant为Android打包并且签名 SDK自带文件 在tools/ant目录下这3个文件   其中build.xml和uibui...
  • asdf717
  • asdf717
  • 2017年02月09日 11:55
  • 1213

使用Ant打包Android应用详解

计划写个完整的使用Ant打包Android应用的系列文章,三篇文章。首篇详细介绍采用Ant打包Android应用的流程,列出部分定制问题及其解决方法,第二篇介绍我理解的Ant打包的思路与基本的概念和使...
  • w7849516230
  • w7849516230
  • 2015年08月21日 08:57
  • 2740

Android Ant打包及其环境变量配置

之前打包项目使用蓝贝壳打包,或者用Eclipse自带的环境打包,或者直接扔给第三方给别人打包(这里是指的爱加密打包)。接下来老于就带你们走进ant打包的时代。 每次完成一个应用后。就要上市场。上市场呢...
  • androidstarjack
  • androidstarjack
  • 2015年06月09日 10:47
  • 2266

用ant的build.xml构建自动化打包android apk 完全详解(打包系列教程之二)

通过上一篇文章内容的学习,我们基本已经明白了android打包签名apk的主要操作与流程,那么这一篇文章我们就将上一篇文章的打包内容转化成ant的build.xml文件进行自动化打包,这样可以避免我们...
  • javazejian
  • javazejian
  • 2016年01月25日 13:51
  • 4991

纯ant命令行打包android apk之图文从原理角度完全详解android打包过程(打包系列教程之一)

工作也有一段时间了,刚来到公司时,说起来惭愧,打包根本不怎么会,然后呢,各种原因,管理svn和打包的各类工作都必须要由我来做了,之前的工程师留下的ant打包工具的打包速度,我实在忍无可忍了!太慢了!一...
  • javazejian
  • javazejian
  • 2016年01月22日 18:09
  • 5858

Android 自动化发布—采用Ant打包的完美实现:编译、合并、签名、混淆、优化、自动运行

Android中进行APK打包可以采用Eclipse、Ant命令另种方式完成,但是如果打包的APK过多、打包次数过于频繁,工作量是可想而知的,所以决定采用Ant进行打包。基于Ant的打包实现,如果纯手...
  • webwalker
  • webwalker
  • 2014年04月30日 15:49
  • 7605

Eclipse下配置Ant脚本 自动打包带签名的Android apk

虽然eclipse很少用了,但是在古老的项目上还是会用到。一个麻烦事是打带签名包的时候,非常不方便。下边纪录下配置ant,自动打包带签名apk的过程,作为备忘。(PC环境为MAC)1,第一步得安ant...
  • yanzi1225627
  • yanzi1225627
  • 2016年03月07日 11:31
  • 3684

使用Ant构建Android应用

关于Android应用开发,使用Ant来发布应用的总结。
  • babyblue_963
  • babyblue_963
  • 2014年08月03日 16:35
  • 2943
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ant android
举报原因:
原因补充:

(最多只允许输入30个字)