ANDROID ANT打包

本文介绍如何使用Apache Ant工具配置环境并实现Android项目的自动化批量打包。通过设置环境变量及修改build.xml文件,利用Ant-contrib扩展包实现不同渠道的APK打包。

1.下载ANT

http://ant.apache.org/

2.配置环境变量

Administrator用户变量:

PATH

%ANT_HOME%\bin


系统的环境变量

ANT_HOME

D:\apache-ant-1.9.0


3.cmd输入 ANT测试

4.到ANDROID工程的目录下运行ANT即可打包。

5.批量自动打包

         Ant编译android程序        简单介绍了使用ant命令打包android程序,实现批量打包需要的加一个类似于for循环的功能即可,在Ant的核心包里没有相关的For循环的Task,要下载相应的扩展包。可以使用开源的Ant-contrib包。下载地址:http://ant-contrib.sourceforge.net/  。下载后的解压得到的jar文件放到ant的lib目录。

        在build.xml中增加如下代码就可以实现批量打包:

 
  1. taskdef resource="net/sf/antcontrib/antcontrib.properties">  
  2.   <classpath>  
  3.     <pathelement location="lib/ant-contrib-1.0b3.jar"/>  
  4.   </classpath>  
  5. </taskdef>  
  6.  <target name="deploy">  
  7.    <foreach target="modify_manifest" list="${market_channels}" param="channel" delimiter=",">  
  8.    </foreach>  
  9.  </target>  
  10. <target name="modify_manifest">  
  11.     <replaceregexp flags="g" byline="false">  
  12.     <regexp pattern="android:value="(.*)" android:name="CHANNEL"" />  
  13.     <substitution expression="android:value="${channel}" android:name="CHANNEL"" />  
  14.     <fileset dir="" includes="AndroidManifest.xml" />  
  15.     </replaceregexp>  
  16.     <property name="out.release.file" 
  17.                   location="${out.absolute.dir}/${ant.project.name}_${channel}_${app_version}.apk" />  
  18.     <antcall target="release" />  
  19. </target>  

taskdef 声明需要放到较前位置,因为if condition也会用到此声明。

build.properties文件增加:

 

taskdef 声明需要放到较前位置,因为if condition也会用到此声明。

build.properties文件增加:

 
  1. market_channels=000000,012345   
  2. app_version=1.2.1 

market名称用逗号分隔

执行ant deploy即可。


注意:最新的ADT需要用下面的替换原来的:

    <!-- jar file from where the tasks are loaded -->
    <path id="android.antlibs">
        <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
    </path>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值