一、ant安装及环境变量配置
本人下载的是apache-ant-1.9.4,解压即可使用。环境变量只需在path中添加
D:\ant\apache-ant-1.9.4\bin;
实际配置路径应与ant解压路径一致。
二、sdk安装及环境变量配置
新建环境变量名ANDROID_HOME变量值 D:\adt-bundle-windows-x86_64-20140321\sdk
再在path中添加%ANDROID_HOME%\tools;
实际配置路径应与sdk解压路径一致。
三、生成打包配置文件
实际上在androidSDK包里已经存在一个打包build.xml文件,我们只需要待打包工程目录下生成对其引用的build.xml文件。网上有很多人贴出了自己的build.xml文件,直接使用时多发现莫名其妙的报错,这种错误的根源实际上是不同androidSDK中的打包工具不一样,工具自带build.xml文件也不一样。
D:\ProjectDemo>android update project--name ProjectDemo --targetAndroid-18 --path ./
有依赖库项目工程的执行下面语句
D:\ProjectDemo>android update project--name ProjectDemo --targetAndroid-18 --path ./ -s
列出不同版本平台的对应id编号
android list targets
其中ProjectDemo为android工程目录,主工程目录和依赖工程目录的执行命令不一样,移上都有给出。
主工程目录下添加ant.properties文件,用于保存签名相关信息。
四、打包
打开命令行窗口,切换到主工程目录
1.ant clean打包前清除缓存编译文件
2.ant release打包
如果非代码问题导致antrelease失败,可以先多次执行ant clean,再执行ant release打包。
一般情况下,如果android工程项目目录是默认结构,按照移上步骤就可以打出包。本人遇上一个特例就是工程中有多个src,导致编译失败;这种情况采取的做法是修改该工程下的buid.xml,将其引用重新指向到由工具包中build.xml修改而来的build1.xml。而build1.xml所在的修改也只需要简单的在xml文件中src出现的位置加上其他src。如下代码。
</path>
<javac encoding="${java.encoding}"
source="${java.source}" target="${java.target}"
debug="true" extdirs="" includeantruntime="false"
destdir="${out.classes.absolute.dir}"
bootclasspathref="project.target.class.path"
verbose="${verbose}"
classpathref="project.javac.classpath"
fork="${need.javac.fork}">
<src path="${source.absolute.dir}" />
<span style="color:#ff0000;"> <src path="${source.message.dir}" /></span>
<src path="${gen.absolute.dir}" />
<compilerarg line="${java.compilerargs}" />
</javac>