在简单的工程项目中使用Ant<o:p></o:p>
这个例子展示如何用Ant构建AIR程序,一个非常简单的工程,所有文件都放在一个目录里。<o:p></o:p>
<o:p></o:p>
注意:这个例子使用的是AIR SDK而不是Flex Builder,Flex Builder中的工具和配置文件的目录结构有所不同。<o:p></o:p>
为了使用更简单些,例子中定义了一些变量属性,这一组属性定义了命令行工具的所在路径:<o:p></o:p>
<property name="SDK_HOME" value="C:/FlexSDK"/> <o:p></o:p>
<property name="MXMLC.JAR" value="${SDK_HOME}/lib/mxmlc.jar"/> <o:p></o:p>
<property name="ADL" value="${SDK_HOME}/bin/adl.exe"/> <o:p></o:p>
<property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/> <o:p></o:p>
<o:p></o:p>
这一组定义了工程的一些属性,这些变量将被转换为应用程序描述文件。这里还定义了程序根目录,还有MXMLC debug参数为true :<o:p></o:p>
<property name="APP_NAME" value="ExampleApplication"/> <o:p></o:p>
<property name="APP_ROOT" value="."/> <o:p></o:p>
<property name="MAIN_SOURCE_FILE" value="${APP_ROOT}/${APP_NAME}.mxml"/> <o:p></o:p>
<property name="APP_DESCRIPTOR" value="${APP_ROOT}/${APP_NAME}-app.xml"/> <o:p></o:p>
<property name="AIR_NAME" value="${APP_NAME}.air"/> <o:p></o:p>
<property name="DEBUG" value="true"/> <o:p></o:p>
<o:p></o:p>
<o:p></o:p>
要调用编译,这个例子使用一个java任务来运行mxmlc.jar :<o:p></o:p>
<target name="compile"> <o:p></o:p>
<java jar="${MXMLC.JAR}" fork="true" failonerror="true"> <o:p></o:p>
<arg value="-debug=${DEBUG}"/> <o:p></o:p>
<arg value="+flexlib=${SDK_HOME}/frameworks"/> <o:p></o:p>
<arg value="+configname=air"/> <o:p></o:p>
<arg value="-file-specs=${MAIN_SOURCE_FILE}"/> <o:p></o:p>
</java> <o:p></o:p>
</target> <o:p></o:p>
<o:p></o:p>
当使用Java调用mxmlc时,必须指定+flexlib参数。+configname=air参数告诉mxmlc载入AIR配置文件来代替原来的Flex配置文件。<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
要想用ADL运行程序,使用下面的任务:<o:p></o:p>
<target name="test" depends="compile"> <o:p></o:p>
<exec executable="${ADL}"> <o:p></o:p>
<arg value="${APP_DESCRIPTOR}"/> <o:p></o:p>
</exec> <o:p></o:p>
</target> <o:p></o:p>
<o:p></o:p>
<o:p></o:p>
用下面的Java任务运行adt.jar工具:<o:p></o:p>
<target name="package" depends="compile"> <o:p></o:p>
<java jar="${ADT.JAR}" fork="true" failonerror="true"> <o:p></o:p>
<arg value="-package"/> <o:p></o:p>
<arg value="${AIR_NAME}"/> <o:p></o:p>
<arg value="${APP_DESCRIPTOR}"/> <o:p></o:p>
<arg value="${APP_NAME}.swf"/> <o:p></o:p>
<arg value="*.png"/> <o:p></o:p>
</java> <o:p></o:p>
</target> <o:p></o:p>
<o:p></o:p>
如果你还想打包进更多的文件,可继续添加<arg> 元素。<o:p></o:p>