我需要设置一个允许构建空中应用程序的连续环境,因此我必须设置一些ANT脚本来编译我的flash然后打包它。
我遇到了flex任务mxmlc,它是构建.swf的基础工具。
我已经使用此工具设置了基本构建文件,但我的项目使用.ANE,我无法将它们作为我的swf编译包含在内。我最终得到了错误,因为很多课程都是未知的。
这是我的构建文件:
<property
name="AIR_SDK_HOME" value="${basedir}/Flex 4.6.0" />
<property
name="FLEX_HOME" value="${basedir}/Flex 4.6.0" />
<property
name="FLEX_TASKS" value="${FLEX_HOME}/ant/flexTasks.tasks" />
<property
name="ADT" value="${SDK}/bin/adt" />
<property
name="MXMLC" value="${SDK}/bin/amxmlc" />
<taskdef resource="flexTasks.tasks" classpath="flexTasks.jar"/>
<target name="compile">
<mxmlc file="${basedir}/src/Main.as"
output="${basedir}/bin-debug/HR_2012_IPAD.swf"
locale="en_US"
static-rsls="true"
accessible="true"
configname="airmobile"
debug="true"
failonerror="true"
fork="true"
maxmemory="512m">
<source-path path-element="${FLEX_HOME}/frameworks"/>
<source-path path-element="${basedir}/src"/>
<source-path path-element="${basedir}/gestouch"/>
<compiler.library-path dir="${basedir}/lib" />
<compiler.external-library-path dir="${basedir}" append="true">
<include name="lib/*" />
</compiler.external-library-path>
<library-path dir="${basedir}/lib" includes="*.swc,*.ane" append="true"/>
<library-path dir="${SDK}/frameworks/locale/en_US" includes="*.swc" append="true"/>
</mxmlc>
</target>
如果有人已经成功使用mxmlc成功包含.ane,我很乐意听到解决方案。
干杯!
答案 0 :(得分:0)
将路径以及.ane文件名添加到 -external-library-path 对我有用。
编辑:在您的目标中,您可能只需更改此内容即可明确查看.ane文件:
<compiler.external-library-path dir="${basedir}" append="true">
<include name="lib/yourExtension.ane" />
</compiler.external-library-path>
这是我使用它的方式($ {compiler.arguments}是可选的 - 你可以使用它将信息传递给编译器,例如为条件编译定义标签,如下所示:CONFIG :: debug_trace,true):
<target name="build" depends="set build type, copy extension packages, copy files for building">
<exec executable="${MXMLC}" failonerror="true">
<arg line="
${compiler.arguments}
+configname=airmobile
-debug=${build.debug}
-output ${app.builddir}/${app.name}.swf
${app.main.file}
-source-path+=${app.sourcedir}
-external-library-path+=${ext.extensiondir}/${ext.file}
-library-path+=${app.libs}
-incremental=true
"/>
</exec>
</target>
这是我为本书Easy Native Extensions编写的连续环境构建脚本的摘录(目标是构建ANE,使用ANE并在设备上安装应用程序的应用程序单击)。