在Ant工程中,可以使用3种Ant任务来编译Flex
- mxmlc
mxmlc用来编译Flex应该用程序,模块,资源模块和CSS文件。
- compc
compc用来编译SWC和RSL。
- html-wrapper
html-wrapper用来生成HTML页面,可以选择检测Flash Player版本,使用Flash Player快速安装,和使用深度连接(Deep linking)。
使用Ant来编译Flex应用,需要使用到flexTasks.jar文件,这个文件在Flex SDK的ant目录中可以找到。使用Ant编译,需要把编译的行为用XML文件来描述,ant目录中有一个build.xml文件可以参考。
建立一个文件夹testAnt来试用下这个”小蚂蚁”
- 建立一个Application
在testAnt文件夹中建立一个myApp文件夹,并建立一个Main.mxml文件。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> <mx:Script> <![CDATA[ import mx.controls.Alert; private function onButtonClick():void{ Alert.show("Hello, Ant"); } ]]> </mx:Script> <mx:Button label="Ant" click="onButtonClick()"/> </mx:Application>
- 加入flexTasks.jar文件
在testAnt文件夹中建立一个lib文件夹,复制SDK ant\lib文件夹中的flexTasks.jar文件到该文件夹中。
- 建立ant工程
在testAnt文件夹中新建一个build.xml,并定义编译行为。
<?xml version="1.0" encoding="utf-8"?> <project name="My App Builder" basedir="."> <taskdef resource="flexTasks.tasks" classpath="${basedir}/lib/flexTasks.jar"/> <property name="FLEX_HOME" value="D:\Program Files\Adobe\Flex Builder 3\sdks\3.1.0"/> <property name="APP_ROOT" value="myApp"/> <target name="main"> <mxmlc file="${APP_ROOT}/Main.mxml" keep-generated-actionscript="true"> <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/> <source-path path-element="${FLEX_HOME}/frameworks"/> </mxmlc> </target> </project>
首先在taskdef中定义需要用到的flexTasks.jar文件,并指定FLEX_HOME和APP_HOME这两个属性,Flex_HOME是SDK的目录,APP_HOME是应用的目录,在这里是myApp。然后定义一个名为main的Ant任务,这个任务使用mxmlc来编译文件,并且keep-generated-actionscript这个编译选项为true。
- 编译
在DOS环境下输入指令:ant build.xml main
如果你的xml描述文件的文件名称是默认的build.xml,可以使用指令:ant main