使用Ant搭建Android开发环境,建立android项目
配置Ant环境在windows上应该选择zip压缩包,将zip压缩包解压到一个目录。
打开系统环境变量,在系统变量栏点击新建,变量名输入“ANT_HOME”,变量值为Ant的根目录,如“D:\Android\apache-ant-1.9.0”,注意不要带双引号。
在系统变量中找到Path变量,点击编辑,在变量值的最后添加“%ANT_HOME%\bin”,注意不要带双引号,并且要使用“”和之前的变量值隔开。
打开一个cmd窗口,输入“ant”,如果显示一下信息,说明Ant的环境配置成功,如果显示:'ant'
不是内部或外部命令,也不是可运行的程序或批处理文件。则要检查陵亩伏一下路径是否有问题。
在Eclipse中配置Ant
在eclipse中使用Ant之前,为了使Ant的build.xml文件能够安装制定的格式进行缩进和高亮显示,并能够进行代码提示,首先要简单的设置一下。
打开Windows - Preferences,依次展开General,Editors,选中File Associations,点击Add...,在Add
File Type对话框中输入build.xml,点击Ok。
接下来在File type:栏选中build.xml,在Associated Editor:栏选中Ant
Editor,点击Default,build.xml的图标变成了一个小蚂蚁,配置完毕。
使用Ant编译Android的java代码和native代码
新建一个Android工程TestAnt,在工程的根目尺携录下新建一个build.xml文件
输入以下内容:
<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="init"> <target name="init"> <fail message="Ant 1.7.0 or higher is required."> <condition> <not> <antversion property="ant.version" atleast="1.7.0" /> </not> </condition> </fail> </target> </project>
打开cmd,切换到工程根目录,输入ant init
编译成功,来解析这个build.xml:
<project name="TestAnt" default="init">
project是Ant工程的根节点,name属性是工程的名称,default是默认执行的target,init为默认的target,当我们输入Ant的时候和Ant
init是一样的效果。
<target name="init"> <fail message="Ant 1.7.0 or higher is required."> <condition> <not> <antversion property="ant.version" atleast="1.7.0" /> </not> </condition> </fail>耐纯</target>
target指定了要执行的 *** 作,init是我们为这个target所起的名字,也可以是build,clean等等。在这个target中,执行的是检查Ant的版本,如个小于1.7.0的话会输出报错信息。
例如我们可以添加一个clean的target
<target name="clean"> <echo message="Deleting temporary files..." /> <delete dir="gen" /> <delete dir="bin" /> <delete dir="out" /> <delete dir="obj" /> <echo message="DONE (Deleting temporary files)" /> </target>
执行的 *** 作是删除所有临时目录,在cmd窗口中输入Ant clean,这四个临时目录就会被删除,和在eclipse中执行清理是一个效果。
使用Ant编译Android工程
在SDK中,Google已经为我们写好了一个build.xml文件,就是sdk根目录\tools\ant\build.xml,所以我们只要把这个build.xml引入就可以编译Android工程了。
在这之前首先要新建一个local.properties文件,引入sdk和ndk的路径
输入一下内容:
sdk.dir=D:\\Android\\android-sdk
ndk.dir=D:\\Android\\android-ndk
分别为sdk和ndk的路径,要安装自己的实际路径进行配置。
在测试工程的build.xml中输入一下代码:
<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="release"> <loadproperties srcFile="local.properties" /> <loadproperties srcFile="project.properties" /> <fail message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="sdk.dir" /> <fail message="ndk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="ndk.dir" /> <import file="${sdk.dir}/tools/ant/build.xml" /></project>
在命令行中执行ant release或ant debug,就会执行对应的编译。
以上只是进行Java代码的编译,如何编译native代码呢,在NDK中Google可没有提够build.xml,这就需要我们自己实现。在新版NDK中,我们只要在命令行中切换到工程的根目录,然后执行
“D:\Android\android-ndk\ndk-build.cmd”(红色部分要替换成自己的路径)
就可以,例如,在TestAnt工程中添加native代码
执行ndk-build
所以我们只要在Ant中执行一个cmd命令就可以了,在build.xml中添加
<target name="native"> <echo message="Building native libraries..." /> <exec executable="${ndk.dir}/ndk-build.cmd" failonerror="true" /> <echo message="DONE (Building native libraries)" /> </target>
然后在命令行中执行ant native
执行了ndk-build。
以上介绍的都是使用Ant进行进步的Android编译 *** 作,在此基础上可以实现更复杂的 *** 作,比如批量替换资源文件,批量打包等等。
ant是apache项目组的一个子项目,是一个基于java的构建工具。ant本身用java实现,要构建的工程的配置文件用xml格式描述,可以很方便的实现跨平台构建工作。ant 可以从http://ant.apache.org下载,目前最新版本为1.5.4。下载完毕后直接解压缩到一个目录,例如D:\ant。
下一步我们需要设置如下的环境变量:
ANT_HOME:ant的安装目录,如果按上面方法解压缩了ant,那么这个值应该设为D:\ant
JAVA_HOME:jdk的安装目录
PATH:把%ANT_HOME%\bin目录加到path变量,以便于从命令行直接运行ant。
(1)建立厅陵模build.xml
用ant编译规模较大的工程扮缓非常方便,每个工程都对应一个build.xml文件,这个文件包含与这个工程有关的路径信息和构建任务。
下面是一个最简单的build.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="projectTemplate" default="init" basedir=".">
<target name="init" >
<property name="lib.dir" value="lib"/>
<echo message="Hello ,lib.dir is set to ${lib.dir}" >
</echo>
</target>
</project>
每个build.xml有且仅有一个project,每个project下面可以包含多个target,每个target表示一个小的任务,每个任务负责执行一段脚本。ant有内置任务集可供使用,例如上面的echo就是在console上显示消息。
更详细的内置汪枣任务请参考http://ant.apache.org/manual/coretasklist.html
${lib.dir}表示引用一个名字叫做lib.dir的属性值,这个属性的值就是lib。
(2)运行ant
使用ant.bat可以直接运行ant,如果不带任何参数,ant会在当前路径下搜索build.xml文件,如果找到了这个文件,就运行project的default属性指定的target.我们也可以带参数来运行ant,以便选择build.xml文件和要运行的target:
ant -buildfile c:\demo\build.xml init
表示运行c:\demo\build.xml 中名字为init的target
(3)ant的目标依赖
target有一个属性depends,在其中可以指定一系列的target名字,表示在执行该target前,必须首先执行的一系列其它target。depends具有传递性,例如:targetA depends targetB,而targetB depends targetC和targetD,这样在执行targetA之前,首先执行C和D,然后执行B,最后才会执行A。
下面是个简单的例子,在执行编译的动作前,首先需要建立一个目标代码存放的目录,然后再执行编译。
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="project" default="init" basedir=".">
<target name="init" >
<property name="dist" value="dist"/>
<mkdir dir="${dist}" />
</target>
<target name="build" depends="init">
<javac srcdir="SourceCode" destdir="${dist}">
</javac>
</target>
</project>
Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具。使用 ant 也同样是非常简单的事。通常的做法就是在项目里面建立一喊御个 XML 文件,名字通常可以取 build.xml 。当然可以取任何喜欢的名字。这个文件就是需要 ant 项目做的一些辅助性工作的批处理文件。
例子:
<?xml version="1.0" encoding="UTF-8"?>
<project default="all" name="pluto-project" basedir=".">
<target name="all" depends="api, container, portal">
</target>
<target name="clean" depends="api-clean, container-clean, portal-clean">
</target>
<target name="api">
<property name="final.name" value="portlet-api-@@DATE@@"/>
<ant antfile="build.xml" dir="api" target="jar" inheritAll="false" />
</target>
<target name="api-clean">
<ant antfile="build.xml" dir="api" target="clean" inheritAll="false" />
</target>
<target name="container" depends="api">
<ant antfile="build.xml" dir="container" target="jar" inheritAll="false" />
</target>
<target name="container-clean">
<ant antfile="build.xml"郑消岩 dir="container" target="clean" inheritAll="false" />
</target>
<target name="portal" depends="container">
<ant antfile="build.xml" dir="portal" target="jar" inheritAll="false" />
</target>
<target name="portal-clean">
<ant antfile="build.xml" dir="portal" target="桥历clean" inheritAll="false" />
</target>
</project>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)