导航:首页 > 源码编译 > ant编译顺序

ant编译顺序

发布时间:2023-11-06 21:19:27

⑴ 如何使用android自带的ant

Ant是android的编译打包工具,一个很好的跨平台构建工具,特别是对于java项目,这里使用它对Android工程进行自动化构建可以得到非常大的便利。一般来说对Android工程进行构。

使用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怎么编译dfs-fuse

下一步我们需要设置如下的环境变量:
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的压缩包,解压缩以后放到C盘根目录如下图

对,就是这个鬼样子,放在这里就可以用了,不用安装之类的
环境变量如下图:

你要定义ANT_HOME,然后让系统path找到这个ANT_HOME就行了

二、写build.xml

你的目录结构如下图:

源文件 放在src
引用的jar包放在lib
编译结果安排在classes

接下来就是build.xml了
如下,自己看吧

[html] view plain
<?xml version="1.0"?>
<project name="pojo_0428" default="prepare" basedir=".">

<property name="source.root" value="src"/>
<property name="class.root" value="classes"/>
<property name="lib.dir" value="lib"/>

<!-- class path for compilation and execution -->
<path id="basepath">
<!-- 运行时 class文件的位置 -->
<pathelement location="${class.root}" />
<!-- jar包 -->
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>

<!--默认的target -->
<target name="prepare">
<delete dir="${class.root}"/>
<mkdir dir="${class.root}"/>
</target>

<!--编译 -->
<target name="compile" depends="prepare">
<javac srcdir="${source.root}"
destdir="${class.root}"
debug="on"
optimize="off"
deprecation="on">
<classpath refid="basepath"/>
</javac>
</target>
<!--执行。 案例程序的入口 依赖 compile -->
<target name="run" depends="compile">
<java classname="com.javathink.Student" fork="true">
<classpath refid="basepath"/>
</java>
</target>

</project>

⑷ 透过ant脚本,编译打包android工程怎么解决

通过ant脚本,编译打包android工程方法步骤如下:
1.Android程序编译、打包、签名、发布的三种方式:
方式一:命令行手动编译打包
方式二:使用ant自动编译打包
方式三:使用eclipse+ADT编译打包
2.Android编译、打包的步骤:
2.1第一步 生成R.java类文件:
Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java。
2.2第二步 将.aidl文件生成.java类文件:
Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成.java文件。
2.3第三步 编译.java类文件生成class文件:
Eclipse中自动生成,ant和命令行使用jdk的javac编译java类文件生成class文件。
2.4第四步 将class文件打包生成classes.dex文件:
Eclipse中自动生成,ant和命令行使用android SDK提供的dx.bat命令行脚本生成classes.dex文件。
2.5第五步 打包资源文件(包括res、assets、androidmanifest.xml等):
Eclipse中自动生成,ant和命令行使用Android SDK提供的aapt.exe生成资源包文件。
2.6第六步 生成未签名的apk安装文件:
Eclipse中自动生成debug签名文件存放在bin目录中,ant和命令行使用android SDK提供的apkbuilder.bat命令脚本生成未签名的apk安装文件。
2.7第七步 对未签名的apk进行签名生成签名后的android文件:
Eclipse中使用Android Tools进行签名,ant和命令行使用jdk的jarsigner对未签名的包进行apk签名。
这个ant脚本只能编译打包一个单独的android工程或依赖一个library 的android工程
首先配置ant的环境变量,这个我就不多少了,自己查。

阅读全文

与ant编译顺序相关的资料

热点内容
java多类继承 浏览:157
怎么用多玩我的世界连接服务器地址 浏览:481
为什么华为手机比安卓流畅 浏览:175
javamap多线程 浏览:226
卡西欧app怎么改时间 浏览:841
jquery压缩图片 浏览:970
用纸筒做解压东西 浏览:236
神奇宝贝服务器如何tp 浏览:242
云服务器支持退货吗 浏览:277
贷款等额本息算法 浏览:188
根服务器地址配置 浏览:499
单片机是软件还是硬件 浏览:624
vivo手机怎么看编译编号 浏览:320
塑钢扣条算法 浏览:301
linux应用程序安装 浏览:414
linux怎么查找命令 浏览:431
安卓12原生和非原生是什么意思 浏览:277
四川广电怎么安装app 浏览:6
大话西游服务器是什么意思 浏览:775
夸克解压压缩文件 浏览:915