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

首先非常感谢作者的分享,原文地址:http://www.mamicode.com/info-detail-851532.html

一。首先呢要把电脑的java环境配置到环境变量中PATH中。不懂的人可以参考http://blog.csdn.net/huanghm88/article/details/3965218转帖
二,把android的SDK也配置到环境变量中PATH中不懂的人可以参考http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html转帖
三。下载ant环境包。地址在http://ant.apache.org/manualdownload.cgi(我自己是在http://ant.apache.org/bindownload.cgi上下载的下载。记得也配置到环境变量中PATH,我的地址是这样的D:\apache-ant-1.9.2\bin;具体大家自己设置,配置成功的话点击运行。输入cmd。输入ant -version回车
表示配置成功了。
四,使用ant,对项目生成build.xml文件具体可以查看http://www.xmumu.com/post/2011-11-22/7022215转帖。
如果说命令打不出来。或者提示找不到的话。说明Android SDK环境配置有问题。要去配置好。网上查找下
五,如果在项目中生成出build.xml等文件时候。就可以进行下一步的配置了如下图目录
ant.properties文件是我们等下要自己创建的文件。是稍后给大家介绍。另外两个文件是build.xml和local.properties
关于ant打包,大家可以先看看这两篇文章http://www.cnblogs.com/MrShi/archive/2013/04/16/3023311.htmlhttp://www.cnblogs.com/MrShi/archive/2013/04/16/3023485.html转帖
六,接下来介绍下ant.properties的内容吧

其中的proguard.config=proguard.cfg  是混淆文件。相信大家都懂得自己定义个混淆文件吧。
key.store=E:\\androidkey.keystore  是签名文件的绝对地址。我这里是window系统。所以这样写。l
key.alias=androidkevin.keystore  签名文件的别名。如果忘了话。可以用eclipse打包时候最后一次输入密码时候。有个Alias的就是你的别名了。
key.store.password=123455  签名密码
key.alias.password=123455  签名密码
market_channels打包的渠道列表。用逗号隔开。不懂得话前面两篇都有说明

以下我把我的build.xml文件的内容晒出来:
<pre name="code" class="java">
<?xml version="1.0" encoding="UTF-8"?>
<project name="BABYRECORD" default="release">
    <property file="local.properties" />

    <property file="ant.properties" />

    <property environment="env" />
    <condition property="sdk.dir" value="${env.ANDROID_HOME}">
        <isset property="env.ANDROID_HOME" />
    </condition>
   <property name="outdir" value="bin" />  
    <property name="outdir-classes" value="${outdir}/classes" />  

   <property name="proguard-home" value="D:\\proguard4.2\\lib\\" />
    <property name="sdk-folder" value="D:\android-sdk_r16-windows\android-sdk_r16-windows\android-sdk-windows" />  
   <property name="android-jar" value="${sdk-folder}\platforms\android-3\android.jar" />  
    <loadproperties srcFile="project.properties" />
   
    <fail
            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
            unless="sdk.dir"
    />
    <import file="custom_rules.xml" optional="true" />
    <import file="${sdk.dir}/tools/ant/build.xml" />
   
    <property name="out.unaligned.dir" value="F:\BABYRECORD_${app_version}\" />
    <mkdir dir="${out.unaligned.dir}" />
    <target name="modify_update_file">
       
        <echo>*********************** make channel ${channel}</echo>
        
        <replaceregexp file="AndroidManifest.xml"
            match='channel'
            replace='${channel}'
            byline="false"
            encoding="utf-8"
        />
        <property name="out.unaligned.file" location="${out.unaligned.dir}\babyrecord_${app_version}_release_build${app_date}_${channel}.apk"/>
         <antcall target="release" />
    </target>
    <target name="make_one_channels" depends="savemanifest,modify_update_file,release,replacemanifest,deletebin" description="description">
    </target>
    <target name="replacemanifest">
        <echo>*********************** replacemanifest</echo>
        <delete file="${basedir}\AndroidManifest.xml"/>
        <copy file="..\temp\build\META-INF\AndroidManifest.xml" todir="${basedir}" encoding="utf-8"/>
    </target>
    <target name="savemanifest">
        <echo>*********************** savemanifest</echo>
        <copy file="${basedir}\AndroidManifest.xml" todir="..\temp\build\META-INF" encoding="utf-8" />
    </target>
    <target name="deletebin">
        <delete dir="${basedir}\bin\*" />
    </target>
    <taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" classpath="D:\android-sdk_r16-windows\android-sdk_r16-windows\android-sdk-windows\tools\ant-contrib-1.0b3.jar" />
    <target name="make_channels">
        <foreach target="make_one_channels" list="${market_channels}" delimiter="," param="channel">
          
        </foreach>
    </target>
</project>
 

大家看到里面的变量env.ANDROID_HOME没有。这里是用了我们之前java在电脑环境变量的配置名称。所以大家在配置的时候要先new一个。取名为ANDROID_HOME
配置到是android SDK的地址其他配置的话。大家一看就了然了。有些是自己的的文件夹地址。有些是配置到ant.properties中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值